这个问题已经被问了很多,我已经尝试了我遇到的每个解决方案,但是没有取得任何成功。我尝试使用以下两行打印出每个变量及其值。
for name, value in globals():
print(name, value)
这会出错:Too many values to unpack
当我跑:
for name in globals():
print(name)
我只得到变量的名称。任何帮助,将不胜感激。
答案 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)