Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengulangi Baris Output Subproses mengikut Baris dalam Python Semasa Melog Semua Output?
Lelaran Baris demi Baris Output Subproses
Apabila menggunakan subproses dalam Python untuk melaksanakan arahan luaran, pengendalian output boleh menjadi mencabar. Artikel ini menangani senario tertentu di mana skrip perlu menyimpan semua output ke fail log sambil memaparkan baris terpilih kepada pengguna secara serentak.
Pendekatan asal yang digunakan untuk baris dalam proc.stdout:, yang membaca keseluruhan output sekali gus sebelum diulang. Untuk mengatasi isu ini, penyelesaian yang dicadangkan ialah menggunakan readline() sebaliknya:
while True: line = proc.stdout.readline() if not line: break #the real code does filtering here print "test:", line.rstrip()
Pendekatan ini membolehkan skrip mencetak setiap baris kerana ia diterima daripada subproses, memastikan penapisan output masa nyata.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pengendalian penimbal subproses boleh memperkenalkan kerumitan tambahan. Bergantung pada versi Python dan sistem pengendalian, penyelesaian yang dicadangkan mungkin menghasilkan hasil yang berbeza.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulangi Baris Output Subproses mengikut Baris dalam Python Semasa Melog Semua Output?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!