我创建了两个文件,当我运行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()
答案 0 :(得分:1)
if __name__ == "__main__":
意味着仅当在命令行中使用python3 filename.py
显式调用该文件时,才会执行其后的代码。由于您只是导入文件而不执行文件,因此永远不会设置global
变量。
此外,当在函数外部声明python变量时,它们都是“全局”变量,仅当您想在函数内部声明 时才需要global
关键字
要解决此问题,请将a.py
更改为以下内容:
requests = {}
def set_vale():
requests["1"] = "1"
set_vale()