從巢狀資料夾匯入模組
在 Python 中從專案內的不同資料夾匯入檔案可能具有挑戰性。讓我們探討一個場景及其解決方案。
問題:
考慮以下資料夾結構:
application ├── app │ └── folder │ └── file.py └── app2 └── some_folder └── some_file.py
如何匯入名為的函數func_name 從 file.py到some_file.py?
答案:
使用 from application.app.folder.file import func_name 的典型方法將無法運作。這是因為 Python 的預設導入搜尋路徑不包含子目錄。
解決方案:
要解決此限制,您可以在運行時修改Python 搜尋路徑,方法是添加在導入模組之前將所需的目錄添加到sys.path 中。以下是some_file.py 中的範例:
import sys # Caution: path[0] is reserved for the script path or '' in REPL sys.path.insert(1, '/path/to/application/app/folder') import file
這將允許您從導入的模組存取函數,如下所示:
file.func_name()
注意:
此方法適用於非常特定的場景。通常,將程式碼結構化為套件是模組化和可維護性的更優選解決方案。
以上是如何從 Python 中的嵌套資料夾導入模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!