하위 프로세스 출력을 문자열로 저장
Python에서 시스템 호출을 실행할 때 추가 조작을 위해 결과를 문자열에 저장하는 것이 중요합니다. 이 문서에서는 Python에서 subprocess.Popen을 사용하여 이를 효과적으로 달성하는 방법을 살펴봅니다.
아래 예를 고려하세요.
import subprocess # Create a Popen object to execute the ntpq command p2 = subprocess.Popen("ntpq -p")
이 명령의 출력을 문자열에 저장하려면 두 가지 기본 프로세스가 있습니다. 접근 방식:
방법 1: subprocess.check_output(Python 2.7 또는 Python 3)
이 함수는 Popen과 통신 처리를 결합하여 stdout 출력을 문자열로 반환합니다.
from subprocess import check_output # Execute the command and store the output in a string out = check_output(["ntpq", "-p"])
방법 2: 통신(Python 2.4-2.6)
이전 Python 버전의 경우 통신 방법은 다음과 같습니다.
import subprocess # Create a Popen object with stdout connected to a pipe p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE) # Read the stdout output and store it in a string out, err = p.communicate()
Popen은 셸을 호출하지 않으므로 명령은 목록으로 제공되어야 합니다.
위 내용은 Python에서 하위 프로세스 출력을 문자열로 효율적으로 저장하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!