在不同类中的两个文件中携带变量

时间:2011-03-25 23:05:55

标签: python class methods static global

我想在一个人登录后携带变量用户,到另一个将填充或继承该用户变量的文件,以便我可以在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()

变量用户工作,我已经使用打印状态对其进行了测试,但我需要将其传递到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):

1 个答案:

答案 0 :(得分:0)

我猜测设置sql的函数是某种GUI回调,而不是你用参数直接调用的东西。您是否尝试在UserScore.py中调用设置全局变量的函数,然后使用设置sql的函数来访问该全局变量?

可能不是最恐怖的方式 - 可能应该使用类实例 - 但它应该工作而且很简单。

编辑:澄清:

在可以访问用户的功能中,添加:

import UserScore
UserScore.user = user

UserScore.py中,将其置于顶部附近:

user = None

然后在UserScore.UserScore函数中,只需访问变量user

(对于模块和类具有相同大小写的相同名称可能不是一个好主意,可能会让人感到困惑。)