2017-01-27 7 views
2

私は、パッケージ内のすべての.pyファイルを別の場所にプロジェクト内のいくつかのモジュールをインポートする必要があり、このパッケージ全体のためにPythonモジュールをインポートする方法はありますか?

├── Plugins 
│   ├── Eight_Ball.py 
│   ├── Ping.py 
│   ├── Weather.py 
│   ├── __init__.py 

のように見えるパッケージ構造を持っています。私はむしろ、パッケージ内のすべてのファイルがそうPluginsパッケージ内のファイルは、デフォルトでは、これらの輸入を持って持つ方法がある

from ..Utils.constants import Plugin_Type 
from ..Models.Plugin import Plugin 
from ..Models.Singleton import Singleton 

で起動しなかっただろうか?

+0

重複がありますか? http://stackoverflow.com/questions/1350887/python-is-there-a-place-when-i-can-put-default-imports-for-all-my-modules –

+0

許容できる方法はありません。依存関係を隠すことは一般的にはお勧めできません。 – wim

+0

@wim私はすでに 'Plugin'に' Plugin_Type'をインポートしています。 'from ..Models.Plugin import Plugin、Plugin_Type' ' from .. ModelSingleton import Singleton' 代わりにいいですか? – TWOF

答えて

1

要するに、デフォルトではPluginsパッケージにファイルをインポートする方法がありません。

一般的にあなたが本当にあなたがこのように必要なものがすべてインポート一般的なインポートファイル作ることができ、それらのいくつかの余分な行を保存したい場合は、from module import *を使用することが推奨されますが:

common_imports.py:

from ..Utils.constants import Plugin_Type 
    from ..Models.Plugin import Plugin 
    from ..Models.Singleton import Singleton 

other_files.py:

from .common_imports import * 

再度、from module import *を使用して思いとどまらですd、そして、私はあなたが単にそれらの数行をすべてのファイルの冒頭に含めることをお勧めします。

関連する問題