目标:创建一个上下文管理器来共享WEB应用的数据库代码
创建上下文管理器需要做的事情
1,一个__init__方法,来完成初始化(如果需要)
2,一个__enter__方法,来完成所有建立工作
3,一个__exit__方法,来完成所有清理工作
import mysql.connector class UseDatabase: def __init__(self, config: dict) -> None: self.configuration = config def __enter__(self) -> 'cursor': self.conn = mysql.connector.connect(**self.configuration) self.cursor = self.conn.cursor() return self.cursor def __exit__(self, exc_type, exc_value, exc_trace) -> None: self.conn.commit() self.coursor.close() self.conn.close()