我正在開發乙個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....