Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Muat Semula Modul Python dengan Cekap untuk Peningkatan Tanpa Pelayan Tanpa Memulakan Semula Pelayan?
Apabila menjalankan pelayan Python lanjutan, memuatkan semula modul membenarkan peningkatan perkhidmatan tanpa pelayan dimulakan semula. Salah satu isu biasa dalam mencapai ini ialah memunggah modul lama dengan cekap sebelum memuat semula.
Python menyediakan fungsi terbina dalam, importlib.reload() , direka khusus untuk memuatkan semula modul. Ini ialah penyelesaian yang berkesan, terutamanya untuk Python 3.4 dan ke atas.
from importlib import reload # Python 3.4+ import foo while True: # Do some operations. if is_changed(foo): foo = reload(foo)
Sebelum ini, dalam Python 2, muat semula adalah terbina. Untuk Python 3, ia telah dipindahkan ke modul imp. Walau bagaimanapun, dalam 3.4, imp telah ditamatkan dan memihak kepada importlib. Oleh itu, apabila menyasarkan Python 3 atau lebih baru, sama ada merujuk modul yang sesuai semasa memanggil muat semula atau mengimportnya.
Pelbagai pelayan web, seperti pelayan pembangunan Django, gunakan kaedah ini untuk mendayakan dinamik kemas kini tanpa proses pelayan dimulakan semula. Adalah penting untuk ambil perhatian bahawa hanya kod peringkat modul yang dilaksanakan semula, manakala fungsi init modul sambungan kekal tidak disentuh. Juga, ambil perhatian bahawa objek lama hanya akan dituntut semula apabila kiraan rujukannya menurun kepada sifar.
Dalam senario khusus anda, jika kelas Foo ditakrifkan dalam modul foo, anda perlu mencipta semula objek Foo selepas memuat semula modul.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Semula Modul Python dengan Cekap untuk Peningkatan Tanpa Pelayan Tanpa Memulakan Semula Pelayan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!