如何從 Python 名稱空間/包中匯入所有內容?


從 Python 包中匯入所有內容是一個不好的主意,因為包不是超級模組——它是一組模組的集合。因此,您應該只匯入該檔案中需要的內容。此外,將包中的所有內容匯入到全域性名稱空間會導致名稱氾濫,並且很可能導致這些名稱之間發生衝突。

話雖如此,仍然有方法可以做到這一點。第一個方法是使用每個子模組的匯入語句手動從包中匯入所有內容。 另一種方法,正如https://docs.python.club.tw/tutorial/modules.html#importing-from-a-package 中的文件所建議的那樣,如果您在 __init__.py 檔案中有一個名為 __all__ 的字串列表,則當執行 from pack import * 時,將匯入該列表中的所有模組/子包名稱。 因此,您需要建立一個包含包中所有內容的字串列表,然後執行“from packageName import *”以匯入此模組中的所有內容,以便在您在其他地方匯入它時,所有這些內容也會在此名稱空間中匯入。

更新於: 2019-07-30

612 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告