如何在python中从其他文件导入变量?(在def中)



我在test1.py文件中有以下代码:

def main():
a = 10
b = 20
c = 30
d = 40
return a,b,c,d

我想在test2.py文件中调用这些变量,我想单独使用它们。这是我想要的输出:

Var a = 10
Var b = 20
Var c = 30
Var d = 40

这些变量有不同的用途。我现在所做的是,我打印test1.py文件中的所有变量,但我不能逐一使用这些变量。test2.py文件:

from test1 import *
b = main()
def mainn():
print(b)

mainn()

输出为:

(10, 20, 30, 40)

我想单独使用这些变量,我该怎么做?

您的函数返回一个Tuple。

您可以通过其索引从元组中选择所需的值

from test1 import *
b = main()
def mainn():
print(b[1])

mainn()

或通过for循环分配变量

from test1 import *
b = main()
list_of_vars = ['a','b','c','d']
for i, v in enumerate(list_of_vars):
list_of_vars[i] = b[i]
print(list_of_vars)

或者按照Sujay 的建议对元组进行解包

a, b, *other = main()

或者,如果变量数量有限,那么只需

a, d, c, f = main()

首先将您的main放入一个py文件中,例如子文件夹(例如module(中的myvrs.py,如下所示:

| test.py
|-- module
| __init__.py
| myvars.py

__init__.py是将子文件夹标记为实际python模块所必需的,这样您就可以从test.pyimport它。它可以是空的。

您的myvars.py可能与您上面描述的test1.py完全相同。

然后你可以做

from module.myvars import main
vars = main()
for v in vars:
print(v)

最新更新