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


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

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

更新於:2019年7月30日

612 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告