Python의 하위 프로세스 모듈을 사용하여 시작된 프로그램의 경우 프로그램은 하위 프로세스의 실행이 완료될 때까지 기다려야 합니다. 출력에 액세스하기 전에. 이는 하위 프로세스가 완료될 때까지 프로그램이 계속되는 것을 방지하므로 장기 실행 프로세스에 불편할 수 있습니다.
하위 프로세스 출력의 실시간 인쇄를 활성화하려면 하위 프로세스의 출력 스트림을 사용할 수 있습니다. 이를 통해 프로그램은 출력 라인을 사용할 수 있게 되자마자 처리할 수 있습니다.
아래는 이 접근 방식을 보여주는 예입니다.
<code class="python">from __future__ import print_function # Python 2.x compatibility import subprocess def execute(cmd): popen = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) for stdout_line in iter(popen.stdout.readline, ""): yield stdout_line popen.stdout.close() return_code = popen.wait() if return_code: raise subprocess.CalledProcessError(return_code, cmd) # Example for path in execute(["locate", "a"]): print(path, end="")</code>
이 반복 접근 방식을 활용하면 프로그램은 다음을 처리할 수 있습니다. 하위 프로세스가 사용 가능해지면 한 줄씩 하위 프로세스에서 출력하여 하위 프로세스가 실행되는 동안 실시간 출력 표시를 가능하게 합니다.
위 내용은 실행 중에 하위 프로세스 출력을 실시간으로 인쇄하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!