打印所有变量及其值

时间:2017-10-01 19:38:31

标签: python

这个问题已经被问了很多,我已经尝试了我遇到的每个解决方案,但是没有取得任何成功。我尝试使用以下两行打印出每个变量及其值。

for name, value in globals():
    print(name, value)

这会出错:Too many values to unpack 当我跑:

for name in globals():
    print(name)

我只得到变量的名称。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:8)

D:\Programs\XAMPP\htdocs\test\bugzilla-5.0.3>ppm install TimeDate Downloading ActiveState Package Repository packlist...not found ppm install failed: Can't find any package that provides TimeDate 会返回globals() - 因此,要迭代dict的键/值对,您可以调用它dict方法:

items()

这在数据结构的文档中进行了解释,可用here!

Python 3版本:

dog = 'cat'
>>> for name, value in globals().items():
...     print(name, value)
... 
('__builtins__', <module '__builtin__' (built-in)>)
('__name__', '__main__')
('dog', 'cat')
('__doc__', None)
('__package__', None)
>>> 

如果我们不复制输出全局函数,则会出现RuntimeError。

此外,如果某个变量的输出中有列表和词典,则使用deepcopy()而不是copy()

for name, value in globals().copy().items():
    print(name, value)