>백엔드 개발 >파이썬 튜토리얼 >화면에 표시하지 않고 Python 변수에서 os.system 출력을 어떻게 캡처할 수 있습니까?

화면에 표시하지 않고 Python 변수에서 os.system 출력을 어떻게 캡처할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-06 09:25:11265검색

How Can I Capture os.system Output in a Python Variable Without Displaying it on the Screen?

화면 표시 없이 변수에 os.system 출력 할당

Python에서 os.system 함수는 시스템 명령을 실행하고 종료 코드를 반환합니다. 그러나 출력을 화면에 인쇄하는 것은 바람직하지 않을 수 있습니다. 이 기사에서는 화면 표시를 억제하면서 변수에서 출력을 캡처하는 솔루션을 탐색합니다.

해결책 1: os.popen 사용

이전 문의에 따르면 os.popen은 실행 가능한 옵션을 제공합니다. :

os.popen('cat /etc/services').read()

Python 3.6 문서에 지정된 대로 os.popen은 subprocess.Popen을 활용합니다. 하위 프로세스를 관리하고 통신하기 위한 보다 강력한 기능을 제공합니다.

해결책 2: subprocess.Popen 사용

하위 프로세스를 직접 사용하기 위해 다음 코드는 출력 캡처 기술을 보여줍니다.

import subprocess

proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print("program output:", out)

stdout=subprocess.PIPE를 설정하면 출력이 캡처되어 원하는 대로 액세스하고 인쇄할 수 있습니다.

위 내용은 화면에 표시하지 않고 Python 변수에서 os.system 출력을 어떻게 캡처할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.