Dalam senario ini, anda berhasrat untuk melaksanakan perintah shell menggunakan modul subprocess, menghubungkan tiga arahan: echo, awk , dan sort, dan paip output mereka ke fail output. Ia menghadap pertimbangan penting:
echo "input data" | awk -f script.awk | sort > outfile.txt
import subprocess p_awk = subprocess.Popen(["awk","-f","script.awk"], stdin=subprocess.PIPE, stdout=file("outfile.txt", "w")) p_awk.communicate( "input data" )
Penggunaan bahasa pengaturcaraan tunggal, mengurangkan keperluan untuk memahami bahasa yang berbeza.
& lt; h3 & gt; mengelakkan kerumitan saluran paip & lt;/h3 & gt;
Membuat saluran paip dalam shell melibatkan pelbagai garpu dan manipulasi deskriptor fail. Walaupun mungkin di Python menggunakan API peringkat rendah, ia jauh lebih mudah untuk mewakilkan penciptaan saluran paip ke shell oleh:
Pendekatan ini menggunakan shell sebagai perantara untuk membuat saluran paip, memudahkan kod python.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyambung Berbilang Proses dengan Cekap dalam Python, Mengelakkan Paip Kompleks dengan `subprocess.Popen`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!