如何在python中仅获取用户定义的全局变量?
我(有点)熟悉Python中的如何在python中仅获取用户定义的全局变量?,python,python-2.7,Python,Python 2.7,我(有点)熟悉Python中的globals()。我的问题是,返回的字典包含所有全局可用的变量,如\uuuuuuuuuuuuuuuuuuuu文件,\uuuuuuuuuu文档,导入模块的对象等 有没有办法得到一个只包含我全局定义的变量的列表或dict?我的意思是这样的: >>> a = 6 >>> b = 42 >>> foo = "bar" >>> my_globals() {'a': 6, 'b': 42, 'foo':
globals()。我的问题是,返回的字典包含所有全局可用的变量,如\uuuuuuuuuuuuuuuuuuuu文件
,\uuuuuuuuuu文档
,导入模块的对象等
有没有办法得到一个只包含我全局定义的变量的列表或dict?我的意思是这样的:
>>> a = 6
>>> b = 42
>>> foo = "bar"
>>> my_globals()
{'a': 6, 'b': 42, 'foo': 'bar'}
您可以尝试以下方法:
获取包含所有全局变量的列表
使用\uuuuuuuuuuuuuuuuuuuu
删除所有值。在这里,一个简单的正则表达式就可以做到这一点
您有用户定义的全局变量
听起来不错,虽然也有导入模块的对象,谁知道还有什么是我没有偶然发现的。不幸的是,你不能100%确定在所有情况下都使用这种方法。听起来像是XY问题-似乎你在解决错误的问题。为什么你想要全局变量,为什么你需要动态地获取它们?为什么你想要这样?您的实际问题是什么?出于日志记录的目的,可以很方便地转储我定义的所有变量。另一个想法:为您的值使用一个全局dict容器。通过这种方式,您可以记录、跟踪它,并自信地记录。所以,没有内置的方法可以做到这一点?