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

示例:file1有变量x1和x2如何将它们传递给file2?

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


当前回答

实际上,这和导入变量是不一样的:

from file1 import x1
print(x1)

and

import file1
print(file1.x1)

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

其他回答

script1.py

title="Hello world"

Script2.py是我们使用script1变量的地方

方法1:

import script1
print(script1.title)

方法2:

from script1 import title
print(title)

实际上,这和导入变量是不一样的:

from file1 import x1
print(x1)

and

import file1
print(file1.x1)

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

如果你需要从同一级别或更低的目录导入一个变量,你可以使用来自项目CWD的"import_module":

        from importlib import import_module
        mod = import_module(
            f"{cwd}.source.myfolder.myfile"
        )
        var = getattr(mod, "my_variable")

最好显式导入x1和x2:

from file1 import x1, x2

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

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

from file1 import * 
from file1 import *  

将导入file1中的所有对象和方法