我使用
从目录导入一组文件from xyz import *
让我们假设我的文件结构如下
xyz
|
|---x.py
|---y.py
|---z.py
x,y和z都是同一类的孩子。
有没有办法列出我所做的导入的所有对象,所以我可以创建x,y和z的对象?
要指定,我想访问目录结构中类的对象。
输出
[X,Y,Z] #classes from the import
答案 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"]