Python中使用with优美的释放资源

tech2026-08-30  1

Python中有类似jdk7中的资源释放语法糖,可以优美的释放资源流程

import mysql.connector as conn class DBUtil: def __init__(self, host, user, passwd, database): self.db = conn.connect(host=host, user=user, passwd=passwd, database=database) # with定义完成 def __enter__(self): return self.db.cursor() # with内代码执行完成后执行 def __exit__(self, exc_type, exc_val, exc_tb): self.db.commit() self.db.disconnect() if __name__ == "__main__": with DBUtil("localhost", "root", "root", "test") as cur: sql = "select * from user_name" cur.execute(sql) for item in cur.fetchall(): print(item)

 

最新回复(0)