这与我的上一个问题有部分联系。我导入了一个名为current_user的对象。我将其从文件1中名为guy.py的2个变量中传递,变量为log_name和log_pass。这2个变量是2个条目的输入,它们是全局的。我制作了一个函数来导入这些全局变量以及gui.py中包含的所有其他全局变量。我仍然对为什么仍未定义全局变量感到困惑。
这是我用来导入对象current_user的函数:
def objects():
global log_name,log_pass
current_user = User(log_name,log_pass,score=0)
return current_user
这是我尝试用来导入全局变量的函数:
def global_vars():
global main_window,reg_window,name_entry,pass_entry,log_name_entry,log_pass_entry,log_name,log_pass,c,conn,query,data
我得到的错误是:
current_user =用户(log_name,log_pass,分数= 0) NameError:名称“ log_name”未定义
答案 0 :(得分:0)
据我所知,您必须使用.py文件:一个叫做guy.py,另一个我称为test.py:
因此,如果要将值从guy.py导入到test.py。首先在guy.py中定义变量,如下所示:
log_name = yourvalue
log_pass = yourvalue
然后转到test.py(它必须位于同一目录(为了简单起见))并导入:
from guy import log_name, log_pass
现在您可以在test.py中使用这些值,并且每当在guy.py中更改值时,它将在test.py中更改。同样,也没有必要使价值观成为全球性的(我认为是这种情况)