【发布时间】:2011-04-25 20:03:43
【问题描述】:
我正在尝试构建一些动态代码来解析文本文件,其中包含从模块顶部的导入命名的对象...现在我遍历sys._getframe(0) 中的所有项目以找到f_globals。有没有更 Pythonic 的方式来查找f_globals?
import re
import sys
import inspect
## Import all Object models below
from Models.Network.Address import MacAddress as _MacAddress
from Models.Network.Address import Ipv4Address as _Ipv4Address
class Objects(object):
"Define a structure for device configuration objects"
def __init__(self):
"Initialize the Objects class, load appropriate objects"
self.objects = dict()
for name, members in inspect.getmembers(sys._getframe(0)):
if name == 'f_globals':
for modname, ref in members.items():
if re.search('^_[A-Za-z]', modname):
self.objects[modname] = ref
return
【问题讨论】:
标签: python introspection