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

标签 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()

最佳答案

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/

相关文章:

Ubuntu 上的 python 卸载出错,apt-get 和 dpkg 损坏错误消息 1

python-3.x - 使用 spacy 分词器拆分句子

javascript - 如果 Google 应用程序脚本中省略了 var/const,我的 getter 会执行什么?

python-3.x - 如何在 Wxpython PseudoDC 中返回 wx.Rect 中的 ID

c - 我在哪里可以在c程序中声明全局变量,无论是在头文件还是源文件中

c - 如何获取退出库函数的地址并将其分配给全局变量?

Python如何检查多个字符串值的不同日期格式

python - 如何处理alembic迁移中的异常?

python - numpy 中的特定张量积

python - 如何在 pygame 中进行角色射击?