关于python:从另一个文件导入变量?

Importing variables from another file?

如何将变量从一个文件导入另一个文件?

示例:file1x1x2两个变量,如何将它们传递给file2

如何从一个变量导入到另一个变量?


1
from file1 import *

将导入文件1中的所有对象和方法


进口file1file2内:

要从file1导入所有变量而不淹没file2的命名空间,请使用:

1
2
3
import file1

#now use file1.x1, file2.x2, ... to access those variables

要将所有变量从file1导入到file2的命名空间(不推荐):

1
2
from file1 import *
#now use x1, x2..

来自文档:

While it is valid to use from module import * at module level it is
usually a bad idea. For one, this loses an important property Python
otherwise has — you can know where each toplevel name is defined by a
simple"search" function in your favourite editor. You also open
yourself to trouble in the future, if some module grows additional
functions or classes.


最好显式导入x1和x2:

1
from file1 import x1, x2

这允许您在使用file2时避免与来自file1的变量和函数发生不必要的命名空间冲突。

但是如果你真的想要,你可以导入所有的变量:

1
from file1 import *

实际上,这与导入变量时的情况并不完全相同:

1
2
from file1 import x1
print(x1)

1
2
import file1
print(file1.x1)

尽管在导入时x1和file1.x1具有相同的值,但它们不是相同的变量。例如,调用file1中修改x1的函数,然后尝试从主文件打印变量:您将看不到修改后的值。