如何使用循环获取dir()中的值?
how to use loop to get values in dir()?
为什么我无法使用循环获取 dir() 中项目的值:
for item in dir():
print(item)
它只是打印
__builtins__
__doc__
__loader__
__name__
__package__
__spec__
那么,我如何使用循环来打印 item 中的值,即 "__main__"
in __name__
谢谢!
不带参数调用 dir
在逻辑上等同于 list(locals())
,如获取当前命名空间中的变量名称列表(keys locals()
字典)。
您将使用 locals()
的 items
方法:
In [5]: for name, value in list(locals().items()):
...: print(name, value)
...:
vaultah 的 is best, I think, but you could also use eval
获取值:
for item in dir():
print('{} : {}'.format(item, eval(item)))
使用 eval
(it's dangerous!) 通常会有很多耻辱,我可能会因为这个答案而被否决,但是,我认为在这种有限的情况下没问题。
为什么我无法使用循环获取 dir() 中项目的值:
for item in dir():
print(item)
它只是打印
__builtins__
__doc__
__loader__
__name__
__package__
__spec__
那么,我如何使用循环来打印 item 中的值,即 "__main__"
in __name__
谢谢!
不带参数调用 dir
在逻辑上等同于 list(locals())
,如获取当前命名空间中的变量名称列表(keys locals()
字典)。
您将使用 locals()
的 items
方法:
In [5]: for name, value in list(locals().items()):
...: print(name, value)
...:
vaultah 的 eval
获取值:
for item in dir():
print('{} : {}'.format(item, eval(item)))
使用 eval
(it's dangerous!) 通常会有很多耻辱,我可能会因为这个答案而被否决,但是,我认为在这种有限的情况下没问题。