首頁 >後端開發 >Python教學 >如何防止模組導入期間Python程式碼執行?

如何防止模組導入期間Python程式碼執行?

Barbara Streisand
Barbara Streisand原創
2024-12-20 20:09:11150瀏覽

How to Prevent Python Code Execution During Module Import?

如何防止Python 在導入時執行代碼

您已經實現了一個Python 程序,它允許兩種執行方法:交互式帶有使用者輸入的模式(main.py)和處理來自檔案的輸入的批次模式(batch.py​​)。但是,將main.py匯入到batch.py​​中,會觸發main.py中程式碼的執行,導致錯誤。

原因:

在Python中,像這樣的關鍵字classdef 表示遇到時執行的語句。這些語句不僅僅是聲明,而是主動語句,這是一種確保模組中內容存在的設計功能。

解決方案:

解決此問題的Pythonic 方法就是採用以下結構:

# Place any code that should run regardless of execution mode here (e.g., class/def)

def main():
    pass

if __name__ == "__main__":
    # Code that is only executed when called as "python main.py"
    main()

透過這種方式,程式碼放置在無論腳本如何呼叫(直接呼叫或透過導入),main 函數都會運行。 main 函數中的程式碼僅在直接執行腳本時才會執行 (python main.py)。

以上是如何防止模組導入期間Python程式碼執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn