2017-02-10 57 views
0

我輸入一組文件的使用創建一個對象了每個文件的進口

from xyz import * 

讓我們假設我的文件結構如下

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

X,Y和Z目錄都是同一班的孩子。

有沒有辦法讓我所做的導入的所有對象的列表,所以我可以創建x,y和z的對象?

要指定,我想訪問目錄結構中類的對象。

輸出

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

回答

2

而不是使用from xyz import *(你不該」無論如何),請使用簡單的import xyz。現在你可以迭代dir(xyz)

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

在你的某某目錄中,添加一個__init__.py文件包含__all__變量:

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

參見http://docs.python.org/tutorial/modules.html

+0

我已經有一個'__all__'變量來做*導入。我如何訪問獨立於目錄的'__all__'變量?這會導入所有內容,但不會將這些類放入列表中。 – cjds

相關問題