2013-07-21 8 views
6

ben sıcaklığı kaydeder ve web sitemdeki MySQL veritabanında depolayan bir ahududu pi var. bu yüzden çalışan senaryo üzerinde ctrl+c isabet ediyorum ve bunu yürütme yeniden komut dosyası ile sık sık oyuncak. Veritabanı bağlantısında düzgün olarak close() yayınlamak istiyorum. Komut dosyası python'dan çıkıldığında kod satırını nasıl çalıştırabilirim?nasıl kod çalıştırmasına?

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

# ... 

#if script closes: 
    #con.close() 

cevap

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

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

finally fıkra başarısına yanı sıra hatası (istisna) üzerine yürütülür.

Ctrl-C vurursanız

, bir KeyboardInterrupt istisna olsun.

0

ya:

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) 

fazla bilgi için here bakınız.

İlgili konular