從子目錄匯入檔案
從子目錄匯入檔案可能是組織 Python 程式碼時的常見挑戰。嘗試存取子目錄中的檔案時可能會遇到匯入錯誤。本文解決了該問題並提供了解決方案。
場景
考慮一個專案結構,其中名為 tester.py 的檔案位於名為 /project 的目錄中。 /project 目錄中有一個名為 lib 的子目錄,其中包含一個名為 BoxTime.py 的檔案。目標是從 tester.py 導入 BoxTime。
嘗試失敗
嘗試使用以下程式碼匯入 BoxTime 會導致錯誤:
import lib.BoxTime
這將傳回以下內容回溯:
Traceback (most recent call last): File "./tester.py", line 3, in <module> import lib.BoxTime ImportError: No module named lib.BoxTime
解決方案
解決方案在於在lib 子目錄中建立一個名為__init__.py的特殊文件。該檔案對於 Python 將 lib 識別為套件至關重要,從而允許從子目錄匯入檔案。一旦__init__.py 檔案就位,可以使用以下語法匯入lib 子目錄中的檔案:
import lib.BoxTime
或者,為了避免將BoxTime 引用為lib.BoxTime,您可以使用下列語法:
import lib.BoxTime as BT ... BT.bt_function()
透過在子目錄中建立__init__.py 文件,Python 將其識別為包,方便導入子目錄中的模組。
以上是如何在Python中從子目錄匯入檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!