Python パッケージ - ファイルではなくクラスごとにインポートします

StackOverflow https://stackoverflow.com/questions/45122

  •  09-06-2019
  •  | 
  •  

質問

次のようなファイル構造があるとします。

app/
  app.py
  controllers/
    __init__.py
    project.py
    plugin.py

app/controllers/project.py でクラス Project が定義されている場合、app.py はそれを次のようにインポートします。

from app.controllers.project import Project

私はちょうどできるようにしたいのですが:

from app.controllers import Project

これはどのように行うのでしょうか?

役に立ちましたか?

解決

置く必要があります

from project import Project

controllers/__init__.py.

ときは注意してください。 絶対輸入 デフォルト (Python 2.7?) になると、モジュール名の前にドットを追加する必要があります (名前付きの最上位モデルとの衝突を避けるため)。 project)、つまり、

from .project import Project
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top