2011-03-25 56 views
0

我想在一個人登錄後攜帶變量用戶到另一個將填充或攜帶該用戶變量的文件,以便我可以在SQL語句中使用它。在不同類別的兩個文件中攜帶一個變量

def ViewScore(self, event): 
    root = Tk() 
    root.title("You last 5 attempts for this topic") 
    user = user_management.getuser() 
    app = UserScore(root) 
    root.mainloop() 

變量用戶的作品,香港專業教育學院使用打印statments,但是我需要通過攜帶它到UserScore.py文件並運行SQL語句進行了測試。

sql = 'SELECT * FROM scores where username="%s" and topic="binary" order by ID DESC' % (user) 

在sql語句中的用戶變量似乎永遠不會被填充或創建,我只是不知道該怎麼做。

UserScore.py

class UserScore(Frame): 

    def __init__(self,master): 
    Frame.__init__(self,master) 
    self.pack() 
    self.getRecords() 


    def getRecords(self): 

回答

0

我猜那臺sql功能是某種GUI的回調,而不是東西,你會直接與參數來調用。您是否嘗試過調用UserScore.py中的函數來設置全局變量,然後使用設置sql訪問該全局變量的函數?

可能不是最Python的方法 - 應該可以用類實例來做 - 但它應該可以工作,而且很簡單。

編輯:爲了澄清:在

user = None 

然後:

在可以訪問用戶的功能,補充一點:

import UserScore 
UserScore.user = user 

UserScore.py,把這個頂部附近UserScore.UserScore函數,只需訪問變量user

(可能不是一個好主意,讓模塊與類別相同的大寫的名稱相同,可能會比較混亂。)

+0

嘛UserScore.py是建立像所謂 '類UserScore(幀): 高清__init __(自我,大師): 框架.__的init __(自我,大師) self.pack() self.getRecords() 高清getRecords(個體經營):' 將全局變量在訪問代碼呢?我需要在init方法中聲明它嗎? – viperfx 2011-03-25 23:58:49

+0

謝謝你的建議!我已經使用您建議的解決方案解決了問題。 – viperfx 2011-03-26 00:23:15

+0

好,只要記住它不是Pythonic或最好的方法。只是一個簡單的方法。 – 2011-03-26 00:25:16

相關問題