Cara Menggunakan Paip dengan Perintah subproses
Apabila bekerja dengan modul subproses, mungkin timbul senario di mana anda perlu menggunakan paip untuk sambungkan berbilang arahan. Soalan ini meneroka cabaran menggunakan subprocess.check_output() dengan arahan berikut:
ps -A | grep 'process_name'
Jawapan
Untuk menggunakan paip dengan subproses, shell=True hujah boleh digunakan. Walau bagaimanapun, menggunakan shell=True menimbulkan kebimbangan keselamatan dan harus didekati dengan berhati-hati. Pendekatan yang lebih baik melibatkan mencipta proses ps dan grep secara berasingan dan menyalurkan output dari satu ke yang lain:
ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE) output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout) ps.wait()
Dalam senario khusus yang disebutkan, penyelesaian yang lebih mudah adalah dengan menggunakan subprocess.check_output(('ps ', '-A')) dan gunakan str.find pada output.
Atas ialah kandungan terperinci Bagaimana untuk Menyalurkan Perintah Dengan Betul Menggunakan Modul `subproses` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!