如何导入上面和下面两个目录中的Python类?

Joh*_*mes 1 python class file python-2.7 python-3.x

如何customer_helper.py从里面导入CustomerHelper类customer_helper_test.py?这是可能的?我用过,from ..helpers..tests..app.helpers.customer_helper import CustomerHelper但它的语法无效.

这是有组织的文件夹:

program/
    app/
        helpers/
            customer_helper.py
            __init__.py
    __init__.py
    tests/
        helpers/
            customer_helper_test.py
            __init__.py
        __init__.py
    __init__.py
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Ada*_*ith 6

始终努力使用绝对进口.

from program.app.helpers.customer_helper import CustomerHelper
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因你绝对不能,那么

from ...app.helpers.customer_helper import CustomerHelper
Run Code Online (Sandbox Code Playgroud)

请注意,app无论如何都必须是一个包.

  • @JohannGomes第一个解决方案要求`program`在你的'PYTHONPATH`中.第二个问题是为什么你不应该使用相对导入!它将失败,具体取决于您的运行地点.在这种情况下,你需要在项目根`program /`而不是更深层次. (2认同)