용도: subprocess 모듈은 새로운 프로세스를 생성하고, 그 프로세스와 상호작용할 수 있는 기능을 제공
주요 기능:
외부 명령 실행: subprocess.run()을 사용하여 시스템 명령어를 실행
입출력 제어: 실행한 프로세스의 표준 입력, 출력, 오류를 제어
파이썬에서 외부 명령어를 실행하기 위해 사용하는 함수
이 함수는 subprocess 모듈의 일부로, 다양한 명령어를 실행하고 그 결과를 처리
import subprocess
result = subprocess.run(['명령어', '옵션1', '옵션2'], check=True, capture_output=True, text=True)
명령어 실행: 지정한 명령어를 실행합니다. 명령어는 리스트 형태로 전달합니다.
결과 캡처: 명령어의 표준 출력(stdout)과 표준 오류(stderr)를 캡처할 수 있습니다.
예외 처리: 명령어 실행이 실패할 경우 예외를 발생시킬 수 있습니다.
주요 매개변수
args: 실행할 명령어와 그 인자들을 리스트 형태로 전달합니다.
check: True로 설정하면 명령어 실행이 실패할 경우 subprocess.CalledProcessError 예외를 발생시킵니다.
capture_output: True로 설정하면 표준 출력(stdout)과 표준 오류(stderr)를 캡처합니다.
text: True로 설정하면 출력 결과를 문자열 형태로 반환합니다. 기본값은 바이트 형태입니다.
cwd: 명령어를 실행할 현재 작업 디렉토리를 지정할 수 있습니다.
shell: True로 설정하면 명령어를 셸을 통해 실행합니다.
반환 값
subprocess.run()은 CompletedProcess 객체를 반환합니다. 이 객체는 다음과 같은 속성을 가집니다:
returncode: 명령어 실행의 반환 코드 (0이면 성공, 그 외는 실패).
stdout: 명령어의 표준 출력.
stderr: 명령어의 표준 오류.