这个问题已被提出了很多问题,我尝试过每一个遇到的解决方案,但都没有取得任何成功.我正在尝试使用以下两行打印出每个变量及其值.
for name, value in globals():
print(name, value)
Run Code Online (Sandbox Code Playgroud)
这给出了一个错误:Too many values to unpack
当我运行时:
for name in globals():
print(name)
Run Code Online (Sandbox Code Playgroud)
我只得到变量的名称.任何帮助,将不胜感激.
globals()返回一个dict- 所以,要迭代一个dict键/值对,你可以调用它的items()方法:
dog = 'cat'
>>> for name, value in globals().items():
... print(name, value)
...
('__builtins__', <module '__builtin__' (built-in)>)
('__name__', '__main__')
('dog', 'cat')
('__doc__', None)
('__package__', None)
>>>
Run Code Online (Sandbox Code Playgroud)
这在数据结构的文档中进行了解释,可在此处获得!
Python 3版本:
for name, value in globals().copy().items():
print(name, value)
Run Code Online (Sandbox Code Playgroud)
如果我们不复制输出全局函数,则会出现RuntimeError.
如果在某些变量的输出中有列表和字典,那么使用deepcopy()而不是copy()
for name, value in globals().deepcopy().items():
print(name, value)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12136 次 |
| 最近记录: |