python字符串到符号名称

时间:2011-10-11 22:38:47

标签: python

我想检查导入的名字 代码:

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__)

3 个答案:

答案 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)是您正在寻找的。