2013-07-21 44 views
6

我有一個覆盆子pi記錄溫度並將它們存儲在我的網站上的MySQL數據庫中。我經常玩腳本,所以我正在運行腳本ctrl+c並重新執行它。我想正確地在數據庫連接上發出close()。當腳本在python中退出時,如何運行一行代碼?如何在Python腳本關閉時執行代碼?

import MySQLdb 
con = MySQLdb.connect(...) 
cursor = con.cursor() 

# ... 

#if script closes: 
    #con.close() 

回答

5
import MySQLdb 
con = MySQLdb.connect(...) 
cursor = con.cursor() 

try: 
    # do stuff with your DB  
finally: 
    con.close() 

finally子句上成功以及對錯誤(異常)執行。

如果您按Ctrl-C,則會出現KeyboardInterrupt異常。

0

或:

import atexit 

def close_db(con): 
    con.close() 
    # any other stuff you need to run on exiting 

import MySQLdb 
con = MySQLdb.connect(...) 

# ... 

atexit.register(close_db, con=con) 

更多信息,請參見here

相關問題