開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
- psycopg2 (パッケージ)
- PostgreSQL (ORDBMS(object-relational database management system))
Head First Python 第2版 ―頭とからだで覚えるPythonの基本 (Paul Barry (著)、嶋田 健志 (監修)、木下 哲也 (翻訳)、オライリージャパン)の9章(コンテキストマネジメントプロトコル - with文を使う)、自分で考えてみよう(p. 345)を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3 import psycopg2 as sql class UseDatabase: def __init__(self, dbconfig: dict) -> None: self.dbconfig = dbconfig def __enter__(self) -> 'cursor': self.conn = sql.connect(**self.dbconfig) self.cursor = self.conn.cursor() return self.cursor def __exit__(self, exc_type, exc_value, exc_trace) -> None: self.conn.commit() self.cursor.close() self.conn.close() if __name__ == '__main__': dbconfig = {'host': '127.0.0.1', 'database': 'vsearchlogdb'} with UseDatabase(dbconfig) as db: print(db)
入出力結果(Terminal, cmd(コマンドプロンプト), Jupyter(IPython))
$ ./sample3.py <cursor object at 0x10613f710; closed: 0> $
0 コメント:
コメントを投稿