我创建了两个文件,当我运行a.py
时,结果是{'1': '1'}
,这是正确的。然而,运行b.py
,结果是没有。如何从 b.py
获取请求的值?
a.py:
requests = {}
def set_value():
global requests
requests["1"] = "1"
if __name__ == "__main__":
set_value()
print(requests)
b.py:
import a
def get_value():
print(a.requests)
if __name__ == "__main__":
get_value()
最佳答案
if __name__ == "__main__":
表示仅当从命令行使用 python3 filename.py
显式调用该文件时才会执行其后面的代码。由于您只是导入文件而不是执行它,因此永远不会设置 global
变量。
此外,当在函数外部声明时,Python 变量都是“全局”变量,只有当您想要在函数内部声明全局变量时才需要 global
关键字。一个函数。
要解决此问题,请将 a.py
更改为以下内容:
requests = {}
def set_vale():
requests["1"] = "1"
set_vale()
关于python - 如何从 python 中的另一个 .py 文件访问全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56420416/