[파이썬] subprocess `subprocess.getstatusoutput()`: 상태와 출력 가져오기

Python의 subprocess 모듈은 외부 프로세스를 실행하고 제어할 수 있는 강력한 도구입니다. subprocess 모듈은 다양한 메소드와 함수를 제공하지만, 이번에는 getstatusoutput() 함수를 다뤄보겠습니다. 이 함수는 외부 프로세스를 실행하고 해당 프로세스의 종료 상태와 출력 결과를 받아올 수 있습니다.

getstatusoutput() 함수란?

getstatusoutput() 함수는 명령어를 문자열로 받아 실행하고, 해당 명령어의 종료 상태와 출력 결과를 튜플로 반환합니다. 반환되는 튜플의 첫 번째 요소는 종료 상태를 나타내며, 두 번째 요소는 실행 결과를 나타냅니다. 종료 상태가 0인 경우에는 성공적으로 실행된 것을 의미하며, 비정상적인 종료 상태라면 해당 상태를 나타냅니다.

getstatusoutput() 함수의 사용 예제

다음은 getstatusoutput() 함수를 사용하여 간단한 예제 프로그램을 실행하고 결과를 받아오는 예제 코드입니다.

import subprocess

command = "echo Hello, World!"
status, output = subprocess.getstatusoutput(command)

if status == 0:
    print("Command executed successfully!")
    print("Output: ", output)
else:
    print("Command failed with error code:", status)

위 예제에서는 echo Hello, World! 명령을 실행하여 “Hello, World!”라는 결과를 얻습니다. 실행 결과를 출력하고, 실행 상태를 확인하여 성공적으로 실행되었는지 여부를 확인합니다.

결론

subprocess.getstatusoutput() 함수는 파이썬에서 외부 프로세스를 실행하고 결과를 확인할 때 매우 유용한 함수입니다. 이 함수를 사용하면 실행 결과와 종료 상태를 쉽게 받아 올 수 있으며, 이를 통해 프로그램의 실행 여부를 판단할 수 있습니다.