> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 os.system의 출력을 어떻게 신중하게 처리할 수 있습니까?

Python에서 os.system의 출력을 어떻게 신중하게 처리할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-11-28 06:34:13
원래의
489명이 탐색했습니다.

How Can I Discreetly Handle the Output of os.system in Python?

os.system의 출력을 신중하게 처리

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿