6

指定したモジュールを test_file 階層からインポートしようとしています

何かのようなもの :

test_case1.py
test_subsuite_2
test_sub_2.1.1.py
test_suite2

この階層で実行インポートを行うことは可能ですか?

/project/main.py
/project/test_files

test_files フォルダー階層は次のようになります。

test_files
    test_suite1
        test_case1.py
        test_subsuite_1
            test_sub1_1.py
            test_sub1_2.py
        test_subsuite_2
            test_subsuite_2_1
                test_sub_2.1.1.py
            test_sub2_1.py
            test_sub3_2.py

    test_suite2
        test_case2.py
        test_subsuite2_1
            test_sub21_1.py
            test_sub21_2.py
        test_subsuite2_2
            test_sub22_1.py
            test_sub23_2.py
4

2 に答える 2

5

__init__.pyすべてのフォルダで呼び出される空のファイルを作成します。.次に、フォルダセパレータとして使用してインポートできます。ここにドキュメント。

于 2012-07-16T09:52:28.113 に答える
4

重要なのは、インポートするファイルを含むすべてのサブフォルダーに空のファイルを作成する__init__.pyことです。あなたの場合、次のすべてのフォルダーにファイルを作成する必要があります-__init__.py

  • テストファイル
  • test_files\test_suite1
  • test_files\test_suite1\test_subsuite_2
  • test_files\test_suite1\test_subsuite_2\test_subsuite_2_1

また、ファイルをインポートするときは、インポート パスを正しく指定するように注意してください。最上位レベルからのパス全体を指定し、さまざまなフォルダー レベルを a で区切ります.
。たとえば、次のように指定して test_case1 をインポートする必要があります。

from test_files.test_suite1 import test_case1

同様に、次のtest_subsuite_2ように指定してインポートできます。

from test_files.test_suite1 import test_subsuite_2

于 2016-12-13T20:14:40.267 に答える