【发布时间】:2016-01-06 21:49:46
【问题描述】:
我有一个类似于
的嵌套类/Foo
__init__.py
pitythefoo.py
kungfoo.py
/Bar
__init__.py
spam.py
eggs.py
我的__init__.py 文件目前有
__all__ = ['pitythefoo', 'kungfoo'] 用于 /Foo/__init__.py 文件和
__all__ = ['spam', 'eggs'] 用于 /Foo/Bar/__init__.py 文件,
所以我可以使用
访问垃圾邮件和鸡蛋from Foo.Bar import *
spam
eggs
但是,我想使用
访问垃圾邮件和鸡蛋from Foo import Bar
Bar.spam
Bar.eggs
我可以在我的__init__.py 文件中使用一些代码来进行这种导入吗?
【问题讨论】:
-
我建议你通读一下,例如docs.python.org/2/tutorial/modules.html
-
@Bryce93:只需在您的
__init__.py中导入名称即可。如果你想使用__all__,答案如下。如果你讨厌明星导入(就像我一样),请明确导入名称 -
重要提示:如果
__all__与您获得的所有内容相同,则无需包含它。Bar/__init__.py应该包含例如import spam、Foo/__init__.py不应包含任何内容。 -
另请注意,以第 6.4 节为例,如果您
from sound import effects,则访问effects.echo等,正是您得到的。跨度>
标签: python python-import