我想检查导入的名字 代码:
import fst # empty file fst.py
for s in dir(fst):
print(s) # got string with symbolic names
输出:
__builtins__
__cached__
__doc__
__file__
__name__
__package__
现在我想检查每个定义名称的值:
代码:
print(__builtins__)
print(__cached__)
print(__doc__)
print(__file__)
print(__name__)
print(__package__)
问题:如何从字符串中“提取”符号名称?
假设代码:
import fst #empty file fst.py
for s in dir(fst):
print(s, StrToSym(s)) # this call should be equal to str("__name__", __name__)
答案 0 :(得分:2)
使用getattr
:
for s in dir(fst):
print (getattr(fst, s))
答案 1 :(得分:1)
使用getattr
功能:
print(s, getattr(fst, s))
答案 2 :(得分:0)
没有“象征性名称”这样的东西。什么模块包含可用作其属性,因此getattr(module, name)
是您正在寻找的。 p>