Bacaan Tidak Menyekat pada Aliran Output Subproses dalam Python
Dalam Python, modul subproses menyediakan cara yang mudah untuk melancarkan dan berinteraksi dengan luaran proses. Walau bagaimanapun, adalah penting untuk mengendalikan interaksi I/O antara proses ibu bapa dan anak dengan cekap.
Pertimbangkan senario berikut: anda ingin melakukan bacaan tanpa sekatan pada aliran keluaran standard subproses. Secara lalai, p.stdout.readline() menyekat sehingga data tersedia dalam penimbal. Untuk menangani perkara ini, kita boleh menggunakan teknik yang melibatkan urutan dan baris gilir yang berasingan.
Mula-mula, buat baris gilir untuk menyimpan baris output:
1 |
|
Seterusnya, mulakan urutan yang berbunyi baris daripada stdout subproses dan masukkan baris gilirnya:
1 2 3 4 |
|
Mulakan subproses dan mulakan benang:
1 2 3 4 5 |
|
Untuk membaca baris tanpa sekatan, gunakan yang berikut:
1 2 3 4 5 6 |
|
Kaedah ini serasi merentas platform dan memastikan bacaan tanpa sekatan, membolehkan anda dengan cekap memproses data daripada subproses.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Bacaan Tidak Menyekat daripada Strim Output Subproses dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!