0
私は相対的な輸入品の一回限りの使用例を読み取る疲れているので、私は怒鳴る上のディレクトリからの相対インポートを行う方法の一例とを取得するために、質問として考え出しましたモジュール関数とクラスオブジェクトの両方をインポートするために使用します。のpython3相対輸入
ディレクトリ構造:
.
├── lib
│ ├── __init__.py
│ └── bar.py
└── src
├── main.py
└── srclib
├── __init__.py
└── foo.py
bar.py
def BarFunc():
print("src Bar function")
class BarClass():
def __inti__(self):
print("src Bar Class")
def test(self):
print("BarClass working")
foo.py
def FooFunction():
print("srclib Foo function")
class FooClass():
def __init__(self):
print("srclib Foo Class")
def test(self):
print("FooClass working")
質問:これらのユースケースをインポートするPython 3の構文は何ですか?
main.py
# What is the syntax to import in python 3?
# I want to be able to call FooFunc()
foo.FooFunc()
# I want to be able to create a FooClass() object
foo_class = foo.FooClass()
foo_class.test()
# I want to be able to call FooFunc()
bar.BarFunc()
# I want to be able to create a BarClass() object
bar_class = bar.BarClass()
bar_class.test()
相対インポートはディレクトリに関するものではありません。これらはディレクトリトラバーサルメカニズムではありません。彼らは、ファイルシステム内のどこに位置するのではなく、インポートするものだけを言う。 – user2357112
よろしくお願いします。それは知らなかった。私はまだ私のメインディレクトリ構造から私のlibファイルをどのようにインポートするのだろうかと思っています。 – 1N5818
パッケージの一部ではないので、 'main.py'で相対インポートを実際に実行することはできません。 – user2357112