Noobish問題可以確定。我試圖將一些通用代碼移動到單獨的模塊中,並將代碼作爲導入的函數使用。代碼通過MySQLdb進行MySQL查詢。當函數是主腳本的一部分時,它運行得很好。當我從一個單獨的模塊中導入函數時,函數失敗,因爲遊標對象不再被定義。有沒有一種方法可以導入函數,而無需爲導入的函數定義單獨的遊標對象?如何在導入的函數上使用MySQLdb連接對象
這裏是一個編碼的例子。這工作:
import MySQLdb
#from mod2 import lookup_value
def get_db_connection(database_name):
db = MySQLdb.connect('localhost', 'user', 'pswrd', database_name)
cur = db.cursor()
return db, cur
def lookup_value(user_name):
query = "SELECT COUNT(*) FROM x_user_%s" % (user_name)
cur.execute("%s" % (query))
return cur.fetchone()
db_name = 'mg_test' # database name
user_name = 'test' # name of a specific table in the database
db, cur = get_db_connection(db_name)
value = lookup_value(user_name)
當我移動代碼Lookup_Array中的第二個文件,並導入它(「從量mod2進口Lookup_Array中」),該代碼,因爲遊標對象是不確定的失敗。導入的lookup_value版本只在我創建一個遊標對象時才起作用。這看起來效率很低。處理這個問題的最好方法是什麼?
當我一起做過黑客的代碼爲我的項目來說,我期待着真正的學習蟒蛇。我不太確定我轉發了,但我希望重寫它,但是:)謝謝 – Cole 2012-02-08 17:57:25