我有以下項目結構:從包清潔進口在Python
project
|----app.py
|----package
|---__init__.py
|---module.py
|---module2.py
|---module3.py
|---....
我__init__.py
文件當前是空的。在module.py中我定義了一個類:
class UsefulClass:
...
並且在其他模塊中也有類似的定義。我app.py看起來是這樣的:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from package.module import UsefulClass
from package.module2 import UsefulClass2
...
usefulclass = UsefulClass()
usefulclass2 = UsefulClass2()
....
我的問題是:我怎麼能代替這個from package.module... import UsefulClass
聲明?即使現在,我也只定義了4個模塊,並且導入起來看起來很難看。我可以將它們導入__init__.py
文件中,然後在app.py
中只使用import package
?我試過了,它給了我一個錯誤。
我正在尋找一個乾淨優雅的解決方案。
您使用的是什麼版本的Python? – abarnert 2013-03-19 19:21:20
另外,請告訴我們你試用了什麼,以及你得到了什麼錯誤(跟蹤回溯)。 – abarnert 2013-03-19 19:23:19
在'project.package .__ init __。py'中:導入子包並使用'__all__ = [...]'''http://docs.python.org/2/tutorial/modules.html#importing-from-a-包 – hughdbrown 2013-03-19 19:26:18