繁体   English   中英

在 Python 中从另一个文件导入变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM