簡體   English   中英

從子目錄導入模塊會導致它在其目錄中找不到其他模塊

[英]Importing a module from subdirectory causes it to not find other modules in its directory

我有以下結構

> external.py
- folder1
   - folder2
      > a.py
      > b.py

文件a.py:

from b import functionB

文件外部.py:

from folder1.folder2.a import functionA

如果我現在調用python a.py一切正常。 但是調用python external.py結果是:

ModuleNotFoundError: No module named 'b'

如果我將文件a.py中的導入更改為:

from .b import functionB

然后調用python external.py工作,但python a.py結果:

ImportError: attempted relative import with no known parent package

為什么當我從文件夾結構外部導入模塊 a 時,模塊 b 突然不再可見?

我嘗試在幾個地方添加__init__.py文件但沒有成功。

a.py中添加一個 try except 語句,這應該可以正常工作,當您從external.py導入a.py時,工作目錄發生變化時會發生這種情況

try:
    from b import functionB
except ImportError:
    from folder1.folder2.b import functionb

暫無
暫無

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

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