2013-07-21 46 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

相关问题