Pelaksanaan Asynchronous Commands of External Commands from Python
Dalam skrip Python, selalunya diperlukan untuk menggunakan arahan luaran yang mungkin mengambil masa yang panjang. masa untuk disiapkan. Untuk memastikan skrip Python tidak terhenti semasa arahan ini dijalankan, pelaksanaan tak segerak dikehendaki. Percubaan sebelumnya menggunakan os.system() telah memasukkan penggunaan & untuk mencabut arahan daripada aliran skrip, tetapi kesesuaian pendekatan ini boleh dipersoalkan.
Penyelesaian yang lebih berkesan ialah fungsi subproses.Popen. Dengan Popen, anda boleh melancarkan arahan luaran tanpa menyekat pelaksanaan skrip Python. Pertimbangkan contoh berikut:
from subprocess import Popen p = Popen(['watch', 'ls']) # something long running # ... do other stuff while subprocess is running p.terminate()
Coretan kod ini menggunakan Popen untuk memulakan arahan jangka panjang (seperti 'watch ls'). Skrip Python kemudiannya boleh meneruskan tugasnya sendiri sementara arahan luaran kekal aktif. Apabila sesuai, tika Popen boleh ditamatkan menggunakan kaedah terminate().
Selain itu, Popen menawarkan fungsi tambahan seperti pengundian untuk status, menghantar input melalui stdin dan menunggu penamatan. Dengan memanfaatkan subproses.Popen, anda boleh menyepadukan pelaksanaan perintah luaran tak segerak dengan lancar ke dalam skrip Python anda.
Atas ialah kandungan terperinci Cara Melaksanakan Perintah Luaran Secara Asynchronous daripada Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!