Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mendapatkan Output Masa Nyata daripada Subproses dalam Python?

Bagaimana untuk Mendapatkan Output Masa Nyata daripada Subproses dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-11-15 13:46:02962semak imbas

How to Get Realtime Output from a Subprocess in Python?

Output Masa Nyata daripada Subproses

Apabila melaksanakan program baris arahan menggunakan modul subproses Python, pembangun sering menghadapi isu output buffer. Ini boleh menjadi masalah untuk tugasan yang memerlukan pemprosesan baris demi baris.

Untuk menyelesaikan isu ini, pengguna boleh mempertimbangkan pendekatan berikut:

  • Gunakan p.stdout.readline() gelung seketika untuk membaca setiap baris output sebaik sahaja ia tersedia. Contohnya:
while True:
    line = p.stdout.readline()
    if not line: break  # No more output, exit loop

    # Process the current line as needed...

Kaedah ini membenarkan pemprosesan output masa nyata tanpa menghadapi masalah penimbalan. Walaupun percubaan awal dengan untuk baris dalam p.stdout: dan tetapan bufsize, pendekatan ini telah terbukti berkesan menangkap output tepat pada masanya.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Output Masa Nyata daripada Subproses dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn