首頁 >後端開發 >Python教學 >如何在 Python 中可靠地實現相對導入?

如何在 Python 中可靠地實現相對導入?

Susan Sarandon
Susan Sarandon原創
2024-12-25 00:16:10394瀏覽

How to Reliably Implement Relative Imports in Python?

在 Python 中實現相對導入

在 Python 中使用分層目錄結構時,有必要從其他子目錄導入模組。使用“..”的傳統相對導入在某些情況下可能會導致錯誤。特別是,當透過將模組作為參數傳遞給解釋器來將其作為主模組執行時,相對導入會失敗。

根據 PEP 328,相對導入依賴模組的 name 屬性決定其在包層次結構中的位置。但是,當name 設定為'__main__' 時(就像將模組作為主模組運行時的情況一樣),相對導入將被解析為就像該模組是頂級模組一樣,無論其文件如何系統位置。

為了解決這個問題,Python 2.6 引入了引用相對於主模組的模組的功能。 PEP 366 中對此進行了描述。透過利用此功能,可以執行相對導入,而不會遇到「嘗試在非套件中進行相對導入」錯誤。

範例:

如下目錄結構:

要從 mod1 匯入mod2,您可以使用以下命令語法:

或者,如果您沒有將該模組作為主模組運行,則通常的相對導入語法將起作用:

以上是如何在 Python 中可靠地實現相對導入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn