Python: 在另一个文件中的函数中访问变量
Python: access variable in a function in another file
我有两个文件:
lib.py
global var
def test():
var = "Hello!"
return
test.py
from lib import *
test()
print(var)
但是尽管将它们放在同一个文件夹中,但当我 运行 test.py 时,我收到以下错误:
Traceback (most recent call last):
File "C:\Test\test.py", line 5, in <module>
print(var)
NameError: name 'var' is not defined
如何在另一个文件的函数中访问这个变量?
我推荐以下内容:
lib.py
def test():
return "Hello!"
test.py
from lib import *
var = test()
print(var)
您需要在使用的范围内将变量声明为全局变量,在本例中是函数 test()
:
def test():
global var
var = "Hello!"
请注意,最后的 return
不是必需的,因为它隐含在函数的末尾。此外,var
是在模块的全局范围内声明的,因此它不会被 from lib import *
自动导入,因为它是在 之后 模块被导入的.
从函数返回 var
可能是跨模块使用的更好解决方案:
def test():
var = "Hello!"
return var
var = test()
print(var) # Hello!
我有两个文件:
lib.py
global var
def test():
var = "Hello!"
return
test.py
from lib import *
test()
print(var)
但是尽管将它们放在同一个文件夹中,但当我 运行 test.py 时,我收到以下错误:
Traceback (most recent call last):
File "C:\Test\test.py", line 5, in <module>
print(var)
NameError: name 'var' is not defined
如何在另一个文件的函数中访问这个变量?
我推荐以下内容:
lib.py
def test():
return "Hello!"
test.py
from lib import *
var = test()
print(var)
您需要在使用的范围内将变量声明为全局变量,在本例中是函数 test()
:
def test():
global var
var = "Hello!"
请注意,最后的 return
不是必需的,因为它隐含在函数的末尾。此外,var
是在模块的全局范围内声明的,因此它不会被 from lib import *
自动导入,因为它是在 之后 模块被导入的.
从函数返回 var
可能是跨模块使用的更好解决方案:
def test():
var = "Hello!"
return var
var = test()
print(var) # Hello!