我有一个记录温度的树莓派,并将它们存储在我网站上的MySQL数据库中。我经常玩脚本,所以我在运行的脚本上点击ctrl+c
并重新执行它。我想在数据库连接上正确发出close()
。如何在python中退出脚本时运行一行代码?
import MySQLdb
con = MySQLdb.connect(...)
cursor = con.cursor()
# ...
#if script closes:
#con.close()
答案 0 :(得分:5)
import MySQLdb
con = MySQLdb.connect(...)
cursor = con.cursor()
try:
# do stuff with your DB
finally:
con.close()
finally
子句在成功和错误(异常)时执行。
如果按Ctrl-C,则会出现KeyboardInterrupt
异常。
答案 1 :(得分: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。