[英]Importing variables from another file in Python
我已经声明了一些变量并使用variables.py
一些值初始化它们:
flag = 0
j = 1
我想在另一个文件main_file.py
使用这些值:
import variables
if(flag == 0) :
j = j+1
但是我收到以下错误,
NameError: name 'flag' is not defined
我该如何解决这个问题?
除了使用变量时,您所做的一切都是正确的。
在您的 main_file.py 文件中:
if(variables.flag == 0) :
variables.j = variables.j + 1
(或)
使用以下标题:
from variables import *
(或)
from variables import flag, j
用前缀“变量”替换所有标志和 j(或您想从该文件使用的任何其他变量)的引用。
由于这只是变量的副本,因此如果在 main_file.py 中修改 variables.py 中的值不会受到影响
您可以使用
import variables
然后像这样访问变量:
variables.flag
variables.j
或者你可以使用:
from variables import flag, j
然后仅通过名称访问变量。
重要:
请注意,在第二种情况下,您将使用变量的副本,并且在一个模块中修改它们对另一个模块中的变量没有影响!
您需要从文件中导入变量。 您可以像这样导入所有这些:
from variables import *
if(flag == 0) :
j = j+1
或者从导入的模块中引用一个变量,比如这个variables.flag
import variables
if(variables.flag == 0) :
j = j+1
或者像这样一一导入
from variables import flag, j
if(flag == 0) :
j = j+1
最好的方法是使用variables.flag
保留命名空间variables
因为当您的代码变大时,您总是可以知道标志变量来自模块变量。 这也将使您能够在其他模块中使用相同的变量名标志,例如module2.flag
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.