Cara Mencegah Python daripada Melaksanakan Kod pada Import
Anda telah melaksanakan program Python yang membenarkan dua kaedah pelaksanaan: interaktif mod dengan input pengguna (main.py) dan mod kelompok yang memproses input daripada fail (batch.py). Mengimport main.py ke dalam batch.py, bagaimanapun, mencetuskan pelaksanaan kod dalam main.py, membawa kepada ralat.
Sebab:
Dalam Python, kata kunci seperti kelas dan def mewakili pernyataan yang dilaksanakan apabila ditemui. Pernyataan ini bukan pengisytiharan semata-mata tetapi pernyataan aktif, ciri reka bentuk yang memastikan kewujudan kandungan dalam modul anda.
Penyelesaian:
Pendekatan Pythonic untuk menangani isu ini adalah untuk menerima pakai struktur berikut:
# 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()
Dengan pendekatan ini, kod diletakkan di luar Fungsi utama akan berjalan tanpa mengira cara skrip dipanggil (secara langsung atau melalui import). Kod dalam fungsi utama hanya akan dilaksanakan apabila skrip dijalankan terus (python main.py).
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Pelaksanaan Kod Python Semasa Import Modul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!