os.system을 사용하여 명령을 실행하면 일반적으로 출력이 화면에 표시됩니다. 그러나 출력을 변수에 할당하고 화면에 표시되지 않게 하려는 상황이 있습니다.
제공된 코드는 이 문제를 보여줍니다.
var = os.system("cat /etc/services") print(var)
명령을 캡처하는 대신 출력에서 var에는 명령이 성공적으로 실행되었음을 나타내는 0이 포함됩니다. 이 문제를 해결하려면 popen을 사용하는 것이 좋습니다.
var = os.popen('cat /etc/services').read()
Python 3.6에 대한 문서에서 알 수 있듯이 subprocess.Popen은 하위 프로세스 관리를 위한 보다 강력한 솔루션을 제공합니다.
proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True) (out, err) = proc.communicate() print("program output:", out)
하위 프로세스를 사용하면 위 코드에 표시된 것처럼 표준 출력과 오류 스트림을 모두 캡처할 수 있습니다.
위 내용은 Python에서 os.system의 출력을 어떻게 신중하게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!