>백엔드 개발 >파이썬 튜토리얼 >Python에서 subprocess.Popen 호출의 출력을 문자열로 캡처하고 저장할 수 있습니까?

Python에서 subprocess.Popen 호출의 출력을 문자열로 캡처하고 저장할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-04 19:07:14355검색

How Can I Capture and Store the Output of a subprocess.Popen Call as a String in Python?

subprocess.Popen 호출의 출력을 문자열로 저장

Python 프로그래밍에서 subprocess 모듈을 사용하면 시스템 호출을 실행하고 캡처할 수 있습니다. 그들의 출력. 이 문서에서는 문자열 변수에 subprocess.Popen 호출의 출력을 저장하기 위한 솔루션을 제공합니다.

Python 2.7 또는 Python 3용 솔루션

Python은 subprocess.check_output을 제공합니다. () 함수는 명령의 출력을 문자열로 캡처하기 위해 특별히 설계되었습니다. 다음과 같이 간단히 사용하세요:

from subprocess import check_output
out = check_output(["ntpq", "-p"])

Python 2.4-2.6용 솔루션

Python 버전 2.4~2.6의 경우 Popen의 통신 방법을 활용할 수 있습니다.

import subprocess
p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE)
out, err = p.communicate()

위 코드의 out 변수에는 원하는 출력.

명령 입력 관련 참고 사항

Popen을 활용하는 경우 제공된 예제에 표시된 것처럼 명령을 문자열 목록으로 전달하는 것이 중요합니다. 이는 Popen이 쉘을 호출하지 않기 때문입니다.

위 내용은 Python에서 subprocess.Popen 호출의 출력을 문자열로 캡처하고 저장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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