在Python中如何在模块之间传递变量?

在Python中如何在模块之间传递变量?,python,Python,我最近开始构建我的编程的一种方式是使用一个主文件和多个不同的适当命名的文件来表示我正在处理的项目的不同部分 所有不同的Python文件都放在一个文件夹中 要使用一个文件,我只需键入: import filename 这一切都很好,但我注意到我不能在代码中使用另一个文件中的变量 我的问题是,我可以导入变量,或者将变量从一个文件传递到另一个文件,以便以后再次使用它们吗 导入的每个文件都被视为有自己的命名空间。如果使用模块名作为名称空间的前缀,则可以引用该名称空间中的任何内容 例如,如果您有这样一个

我最近开始构建我的编程的一种方式是使用一个主文件和多个不同的适当命名的文件来表示我正在处理的项目的不同部分

所有不同的Python文件都放在一个文件夹中

要使用一个文件,我只需键入:

import filename
这一切都很好,但我注意到我不能在代码中使用另一个文件中的变量


我的问题是,我可以导入变量,或者将变量从一个文件传递到另一个文件,以便以后再次使用它们吗

导入的每个文件都被视为有自己的命名空间。如果使用模块名作为名称空间的前缀,则可以引用该名称空间中的任何内容

例如,如果您有这样一个文件:

# filename.py
foobar = 42
您可以使用
filename.foobar
访问
foobar
。例如:

import filename
print("foobar is %s" % filename.foobar)

另一种方法是使用
\uuuuu内置\uuuu
模块,以便您的文件main\u file.py将包含:

print(thing)
import __builtin__
__builtin__.thing = 1
import main_file
而您的whatever.py将包含:

print(thing)
import __builtin__
__builtin__.thing = 1
import main_file

更多信息:

请澄清;你问如何从另一个文件访问存在于一个文件中的全局变量?太好了!这是可行的,但它并不能真正将变量从一个位置传递到下一个位置。@AlexPanagis:我不知道你说的“传递变量”是什么意思。当然,您可以将变量从一个函数传递到下一个函数。这是一个普通的变量,你可以像对待其他变量一样对待它。我发现这个解决方案很粗糙。如果两个不同的模块使用相同的名称,很容易发生名称冲突。模块位于各自的名称空间中是有原因的。