使用-m 了解Python 程式碼執行中的呼叫差異
Python 解釋器提供-m 選項,該選項可讓您執行程式庫模組作為__main__ 模組中的腳本。這種方法與不使用 -m 選項直接執行腳本不同,會導致某些差異和影響。
實際差異
使用 -m 時,Python 以不同的方式管理套件。如果您嘗試在沒有 -m 的情況下執行套件,解釋器會將其視為常規腳本。相反,使用 -m 可以導入包,並且相對導入會正確地將包視為起點。
例如,考慮a.py 中的以下程式碼:
執行python a.py 會產生:
而使用python -m a 會產生:
這裡,在第一種情況下__package__ 變數為空,因為檔案是作為腳本執行。使用 -m 時,__package__ 設定為空字串,因為該模組不在套件內。
package 和name
對於__package__:套件執行的影響
運行套件因為有 -m 的腳本需要套件內有 __main__.py 模組。當 Python 使用 -m 開關執行套件時,此模組會充當入口點。以上是使用-m執行Python程式碼時呼叫有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!