從目錄載入模組
處理包含多個Python模組檔案的目錄結構時,可能需要匯入所有這些模組到一個腳本中。單獨導入每個模組可能很乏味,特別是當目錄中有大量模組時。
解決此問題的一種方法是將目錄轉換為 Python 套件。但是,僅新增 __init__.py 檔案並使用 from Foo import * 可能不會產生所需的結果。為了克服這個障礙,另一種方法是列出目前目錄中的所有 Python 模組文件,並將它們的名稱儲存在 __init__.py 檔案中的 __all__ 變數中。
以下是實作此方法的程式碼:
from os.path import dirname, basename, isfile, join import glob # List all Python module files in the current directory modules = glob.glob(join(dirname(__file__), "*.py")) # Create a list of module names without the ".py" extension __all__ = [basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]
此程式碼片段首先使用 glob.glob(join(dirname(__file__), “*.py”))。然後,它過濾掉任何非模組檔案或 __init__.py 檔案。最後,它透過從每個檔案名稱中刪除“.py”副檔名來提取模組名稱。這些模組名稱儲存在 __init__.py 檔案內的 __all__ 變數中。
透過實作這種方法,您可以有效地將資料夾中的所有模組載入到單一腳本中。它提供了一種管理多個模組的便捷方法,並允許使用 from Foo import * 語法輕鬆匯入。
以上是如何有效率地導入目錄中的所有Python模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!