すべての.pyファイルを保存するディレクトリがあります。
bin/
main.py
user.py # where class User resides
dir.py # where class Dir resides
main.pyでuser.pyとdir.pyのクラスを使用したいと思います。これらの Python クラスをmain.pyにインポートするにはどうすればよいでしょうか。さらに、 user.py がサブディレクトリにある場合、クラスをインポートするにはどうすればよいでしょうか。User
bin/
dir.py
main.py
usr/
user.py
ベストアンサー1
Python 2
__init__.py
ファイルと同じディレクトリにという空のファイルを作成します。これにより、Python に対して「このディレクトリからインポートしても問題ない」ことが示されます。
じゃあ、やってみよう...
from user import User
from dir import Dir
ファイルがサブディレクトリにある場合も同様です。__init__.py
サブディレクトリにも を配置し、ドット表記を使用した通常のインポート ステートメントを使用します。ディレクトリの各レベルごとに、インポート パスに追加する必要があります。
bin/
main.py
classes/
user.py
dir.py
したがって、ディレクトリの名前が「classes」の場合は、次のようにします。
from classes.user import User
from classes.dir import Dir
Python3 について
.
前と同じですが、サブディレクトリを使用しない場合はモジュール名の前に a を付けます。
from .user import User
from .dir import Dir