如何从python中的另一个.py文件访问全局变量?

时间:2019-06-03 02:16:04

标签: python python-3.x global-variables

我创建了两个文件,当我运行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()

1 个答案:

答案 0 :(得分:1)

if __name__ == "__main__":意味着仅当在命令行中使用python3 filename.py显式调用该文件时,才会执行其后的代码。由于您只是导入文件而不执行文件,因此永远不会设置global变量。

此外,当在函数外部声明python变量时,它们都是“全局”变量,仅当您想在函数内部声明 时才需要global关键字

要解决此问题,请将a.py更改为以下内容:

requests = {}

def set_vale():
    requests["1"] = "1"

set_vale()