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

  • 测试文件
  • 测试文件\测试套件1
  • 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 回答