[파이썬] subprocess `subprocess.input`: 표준 입력 전달하기

본 블로그 포스트에서는 파이썬의 subprocess 모듈을 사용하여 표준 입력을 전달하는 방법에 대해 알아보겠습니다.

subprocess 모듈이란?

subprocess 모듈은 파이썬에서 외부 프로세스를 실행하고 상호작용하는데 사용되는 모듈입니다. 표준 입력, 표준 출력 및 에러 출력과 같은 프로세스의 입출력을 다룰 수 있습니다.

표준 입력 전달하기

파이썬의 subprocess.input() 메서드를 사용하면 외부 프로세스로 표준 입력을 전달할 수 있습니다. 이 메서드는 문자열을 인수로 받아 해당 문자열을 프로세스의 표준 입력으로 전달합니다.

다음은 예제 코드입니다.

import subprocess

# 외부 프로세스 실행
result = subprocess.run(['python', 'external_script.py'], input='Hello, World!', text=True, capture_output=True)

# 프로세스 실행 결과 출력
print(result.stdout)

위의 코드에서는 subprocess.run() 메서드를 사용하여 external_script.py라는 외부 스크립트를 실행하고, 표준 입력으로 Hello, World!라는 문자열을 전달했습니다. 인수로 input='Hello, World!'를 사용하여 표준 입력을 지정하고, text=True를 사용하여 표준 출력 결과를 문자열로 받아왔습니다.

결과를 출력하기 위해 result.stdout를 사용하였습니다.

결론

subprocess.input() 메서드를 사용하면 파이썬에서 외부 프로세스에 표준 입력을 전달할 수 있습니다. 이를 통해 다른 프로그램과의 상호작용을 통합하거나 외부 프로그램을 자동화하는데 유용하게 사용할 수 있습니다.