連線資料庫後,需要釋放鏈結,此時想到用上下文管理器來提高效率,具體**如下:
importpymysql
class
cal:
def__enter__
(self):
#連線資料庫
print("
連線資料庫")
self.conn = pymysql.connect('
127.0.0.1
', port=3306, database='
aresresource
', user='
aresresource',
password='
aresresource123
', charset='
utf8')
self.cursor =self.conn.cursor()
return
self
deftest1(self):
selectsql = '
select * from tm_ed_time_task;
'self.cursor.execute(selectsql)
result =self.cursor.fetchall()
(result)
def__exit__
(self, type, value, traceback):
print("
關閉資料庫鏈結")
self.conn.close()
deftest1pro():
with cal() as cal:
cal.test1()
if__name__ == '
__main__':
test1pro()
實現過程遇到的問題:
1.__enter__函式:with 後會將__enter__函式返回給上下文管理器物件
相當於 cal = cal()
with上下文管理器
在執行 with 語句時,首先執行 with 後面的 open 執行完 後,會將 的結果通過 as 儲存到 f 中 然後在下面實現真正要執行的操作 在操作後面,並不需要寫檔案的關閉操作,檔案會在使用完後自動關閉 實際上,在檔案操作時,並不是不需要寫檔案的關閉,而是檔案的關閉操作在 with 的上下文...
with上下文管理器
上下文管理器 任何實現了enter 和exit 法的物件都可稱之為上下 管理 器,上下 管理器物件可以使 with 關鍵字。顯然,件 file 物件也實現 了上下 管理器 方法一class file def init self,filename,mode self.filename filename...
上下文管理器
今天我們聊聊上下文管理器,當然今天所談僅為個人觀點!今天如果不是學生面試回來跟我聊到了上下文管理器,我都忘了python中還有這麼個鬼了。特別寫一篇博文我們簡單聊聊。普通的檔案操作方式,例如 情況01 1 以寫的方式開啟檔案 f open 1.txt w 2 寫入檔案內容 f.write hello...