python相對匯入問題 Python 相對匯入

2021-10-12 11:12:28 字數 749 閱讀 2392

我正在開發乙個python程式,它在其中管理和執行模組(.py python檔案),這些模組可以由使用者新增,並可以通過使用import函式匯入到主程式(foo.py)中.這是目錄結構

foo/

foo.py #main script. imports ouput.py, core.py and bar.py when needed.

src/

__init__.py

output.py #output functions required by bar.py and foo.py

core.py

modules/

__init__.py

bar.py #needs output.py

我可以通過使用foo.py匯入

from src.output import *

但是我面臨的問題是,當我嘗試使用以下命令從bar.py匯入output.py時

from ..src.output import *

我得到錯誤

valueerror: attempted relative import beyond toplevel package

我將檔案放在不同的目錄中,因為它使不同的程式設計師可以更輕鬆地分別對其進行編碼,並且我肯定需要資料夾「 modules」或可以新增.py模組檔案並且可以在bar.py中使用其功能的東西.

並且請告訴我我是否做錯了.並隨時提出乙個更好的方法來做到這一點.

謝謝.

python 相對匯入

參考 python2 預設相對匯入 python3 預設絕對匯入 python3 相對匯入只有兩個方式 1.在上層有乙個檔案main.py,可以直接執行main.py main.py 裡 from mypackage.myothermodule imoprt 2.或者在包的外層執行 m python...

python 絕對匯入和相對匯入

今天在import自定義模組時遇到問題,在此記錄一下。假設檔案結構如下 project main.py utils a.py b.py 我想要實現乙個順序匯入main a b,即 main.py from utils import a a.py import b 然而在a.py報錯找不到b模組。因為...

python之絕對匯入和相對匯入

這兩個概念是相對於包內匯入而言的。包內匯入即是包內的模組匯入包內部的模組。當前資料夾下 環境變數pythonpaht中 sys.path中 匯入當前模組同級別的模組 匯入當前模組同級別包中的模組 不能匯入具體的 變數 函式 型別 import匯入 sub package init py tools....