2018年12月8日土曜日

開発環境

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 コメント:

コメントを投稿