python - 如何从模块命名空间获取全局变量?

标签 python python-3.x module namespaces global

有没有办法获取包含特定模块命名空间中的全局变量的字典?如果模块至少包含一个函数,那么看起来你可以实现它:

import mymodule
d = mymodule.func.__globals__

这样对吗?

有更通用的方法吗? (例如,如果模块不包含任何函数而只包含变量,如何做到这一点?)

我不期待“你想用它做什么?可能有另一种方法。” 回答;我的问题是理论上的问题。

如果重要的话,我对 Python3 的回答更感兴趣。

最佳答案

只需使用 vars 即可获取对应于全局范围的 __dict__

vars(mymodule)

func.__globals__ 简单地返回这个字典给你看看如何:

vars(mymodule) is mymodule.func.__globals__

返回 True

关于python - 如何从模块命名空间获取全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387963/

相关文章:

python - 如何使用通过变量文件传递的额外参数 - Robot framework

python-3.x - 无法在jupyternotebook(或jupyterlab session )中更改目录(shell命令)

python - 解析 XML 异常

python - 读取内置的 python 模块

python - 使用 dict_keys 将字典列表转换为 CSV 字符串

python - 使用应用程序脚本将 MS Word 文件(保存在云端硬盘中)转换为 Google 文档

Python Shell - 浮点减法中的 "Extras"

python - 如何向一个键添加多个列表?

python - 比较命名元组列表中的多个(但不是全部)元素

asp.net - 有用的 ASP.NET 模块?