簡體   English   中英

Python-相對導入不起作用

[英]Python - Relative import does not work

我的項目結構:

project1/
    __init__.py
    main/
        __init__.py
        {main}.py
        file1.py
        file2.py
        subA/
            __init__.py
            {moduleA}.py 
                class {A_class}
            file3.py
            file4.py
        subB/
            __init__.py
            {moduleB}.py
            file5.py
            file6.py

我想在{moduleB} .py中導入{muduleA} .py。 為什么不能這樣做?

在{moduleB} .py中...

from project1.subA import {moduleA}

(下面的方法效果不佳。)

from ..subA import {moduleA}             
from ..subA.{moduleA} import {A_class}   
from project1.subA.{moduleA} import {A_class}
import project1.subA.{moduleA}.{A_class}

解決如下

import sys,os
sys.path.append(os.path.abspath('../../..'))

import project1.subA.moduleA.A_class
from project1.subA.moduleA import A_class

最好顯式導入模塊,以免將來造成混淆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM