Subprocess 모듈은 파이썬에서 외부 프로세스를 호출하고 제어하기 위한 강력한 도구입니다. 이 모듈은 완료된 프로세스에 대한 정보를 반환하는 subprocess.CompletedProcess
클래스를 제공합니다. 이 포스트에서는 subprocess.CompletedProcess
클래스를 사용하여 완료된 프로세스를 처리하는 방법에 대해 알아보겠습니다.
완료된 프로세스 처리란?
완료된 프로세스 처리란, 외부 프로세스를 실행한 후 해당 프로세스가 성공적으로 완료되었는지 여부를 확인하고, 그 결과 및 관련 정보를 가져오는 과정을 말합니다. 완료된 프로세스는 종료 코드, 표준 출력 및 오류 출력을 포함한 여러 가지 정보를 반환합니다. 이러한 정보들은 subprocess.CompletedProcess
클래스를 사용하여 쉽게 액세스할 수 있습니다.
subprocess.CompletedProcess
클래스 사용하기
subprocess.CompletedProcess
클래스는 subprocess.run()
메서드 또는 비동기 실행을 통해 생성됩니다. 이 클래스는 다음과 같은 속성을 가지고 있습니다:
args
: 완료된 프로세스를 실행했을 때 사용된 명령어 또는 명령어 리스트입니다.returncode
: 프로세스의 종료 코드입니다. 0은 성공, 그 외의 값은 실패를 나타냅니다.stdout
: 프로세스의 표준 출력입니다.stderr
: 프로세스의 오류 출력입니다.
import subprocess
# 외부 프로세스 실행하기
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
# CompletedProcess 객체에서 정보 얻기
print(f"Command: {result.args}")
print(f"Return Code: {result.returncode}")
print(f"Standard Output: {result.stdout}")
print(f"Error Output: {result.stderr}")
위의 예제에서는 subprocess.run()
함수를 사용하여 ls -l
명령어를 실행하고 결과를 캡처합니다. 그런 다음 subprocess.CompletedProcess
객체의 속성을 사용하여 실행 결과를 출력합니다.
결론
subprocess.CompletedProcess
클래스를 사용하면 파이썬에서 외부 프로세스를 실행하고 그 결과 및 관련 정보를 손쉽게 처리할 수 있습니다. 이 클래스는 외부 프로그램과의 통신, 데이터 처리, 시스템 상태 확인 등 다양한 용도로 활용될 수 있습니다. 완료된 프로세스 처리에 대해 더 알아보고 싶다면, 파이썬 공식 문서와 subprocess
모듈에 대해 자세히 살펴보시기 바랍니다.