打印所有变量及其值

2024-04-19 22:45:05 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题已经问了很多次了,我已经尝试过我遇到的每一个解决方案,但都没有成功。我试图用以下两行打印出每个变量及其值。

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

当我运行时,会出现一个错误:Too many values to unpack

for name in globals():
    print(name)

我只知道变量的名字。任何帮助都将不胜感激。


Tags: tonameinforvalue错误解决方案名字
1条回答
网友
1楼 · 发布于 2024-04-19 22:45:05

globals()返回一个dict-so,要遍历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)
>>> 

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

Python 3版本:

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

如果不复制输出全局函数,则会出现运行时错误。

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

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

相关问题 更多 >