이번 포스트에서는 Python의 subprocess
모듈을 사용하여 표준 출력을 처리하는 방법에 대해 알아보겠습니다.
subprocess 모듈 소개
subprocess
모듈은 외부 프로세스를 실행하고 통신하는 데 사용됩니다. 이 모듈은 새로운 프로세스를 생성하고, 입력과 출력 스트림을 관리하며, 쉘 명령어를 실행하는 등의 기능을 제공합니다.
표준 출력 처리하기
subprocess
모듈을 사용하여 외부 프로세스를 실행하면, 프로세스의 표준 출력을 캡처하여 사용할 수 있습니다. 이를 통해 외부 프로그램이 생성한 결과를 파이썬에서 처리할 수 있습니다.
다음은 subprocess
모듈을 사용하여 표준 출력을 캡처하는 예제 코드입니다. 이 예제는 ls
명령어를 실행하고, 그 결과를 파이썬에서 출력하는 기능을 구현한 것입니다.
import subprocess
def capture_stdout(command):
result = subprocess.run(command, capture_output=True, text=True)
stdout = result.stdout.strip()
print(stdout)
capture_stdout(['ls', '-l'])
위 코드에서는 subprocess.run()
함수를 사용하여 ls -l
명령어를 실행하고, capture_output=True
옵션을 통해 표준 출력을 캡처합니다. text=True
옵션은 표준 출력을 문자열 형태로 반환하도록 설정하는 역할을 합니다.
result.stdout
에서는 실행 결과의 표준 출력을 얻을 수 있으며, .strip()
메서드를 사용하여 문자열 앞뒤의 공백을 제거합니다. 마지막으로, 캡처한 표준 출력을 출력합니다.
위 예제 코드를 실행하면, 현재 디렉토리의 파일 리스트를 파이썬 콘솔에서 확인할 수 있습니다.
결론
Python의 subprocess
모듈은 외부 프로세스를 실행하고 표준 출력을 처리하는 강력한 도구입니다. 이를 통해 다른 프로그램을 통합하거나 외부 명령어를 실행하는 등 다양한 작업을 수행할 수 있습니다. 작성된 코드를 참고하여 자신의 프로젝트에서 표준 출력을 처리하는 기능을 구현해보세요.+