Python 스크립트에서 하위 프로세스를 활용하는 경우 출력에 액세스하기 전에 프로세스가 완료될 때까지 기다리는 것이 답답할 수 있습니다. 이는 시간이 오래 걸리는 프로세스에서 특히 두드러집니다. 따라서 출력이 생성되는 대로 지속적으로 표시할 수 있는 방법을 찾는 것이 필요합니다.
이를 위해서는 iter 함수를 사용하여 명령으로 출력되는 즉시 라인을 처리할 수 있습니다. 다음 코드 샘플은 일반적인 사용 사례를 보여줍니다.
<code class="python">from __future__ import print_function # Only Python 2.x 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>
이 방법을 활용하면 프로세스가 실행되는 동안 프로세스의 출력을 효과적으로 스트리밍할 수 있으므로 프로세스가 완료될 때까지 기다릴 필요가 없습니다.
위 내용은 Python이 실행되는 동안 Python에서 실시간 하위 프로세스 출력을 어떻게 표시할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!