如何在模块对象上访问dir()Python属性?

时间:2014-12-12 17:16:25

标签: python python-2.7

我是Python新手。我在一家使用Python 2.7的公司工作。

我导入了一个包含函数字段和SQLAlchemy类的模块对象。我需要对课程做点什么。我以为我可以通过在导入的模块对象上调用dir()来访问类,然后循环遍历从dir()返回的值,然后测试每个值以查看它是否是类。我认为这样可行:

def get_legacy_data_and_serialize(): 
    for m in dir(all_models):
        if inspect.isclass(getattr(all_models, m)):
            print(all_models.m)

但我明白了:

AttributeError: 'module' object has no attribute 'm'

当我打电话给dirs()时,我会收到这样的项目:

Base
Client
ClientDetail
Comment
Common
Contact
File
FormData
Ghost
Identified
LabSet
Message
Sender
Subscription
Todo
TodoList
User
UserDetail
__all__
__builtins__
__doc__
__file__
__name__
__package__
__path__
_create_practice
add
add_templates
add_todo
and_
app

大写名称是我之后的名字。我如何访问它们?

1 个答案:

答案 0 :(得分:3)

改变这个:

all_models.m

对此:

getattr(all_models, m)