从导入的每个文件中创建一个对象

时间:2017-02-10 20:11:17

标签: python python-2.7

我使用

从目录导入一组文件
from xyz import *

让我们假设我的文件结构如下

xyz
|
|---x.py
|---y.py
|---z.py

x,y和z都是同一类的孩子。

有没有办法列出我所做的导入的所有对象,所以我可以创建x,y和z的对象?

要指定,我想访问目录结构中类的对象。

输出

[X,Y,Z] #classes from the import

2 个答案:

答案 0 :(得分:2)

使用简单的from xyz import *,而不是使用import xyz(你不应该使用)。现在,您可以迭代dir(xyz)

import xyz
objs = [getattr(xyz, obj)() for obj in dir(xyz)]

答案 1 :(得分:0)

在xyz目录中,添加包含__init__.py变量的__all__文件:

__all__ = ["x", "y", "z"]

另见http://docs.python.org/tutorial/modules.html