반응형
✅ subprocess.check_output()을 이해하려면 알아야 할 개념:
- subprocess 모듈
- 외부 프로세스를 실행하는 기능을 제공함.
- subprocess.run(), subprocess.Popen(), subprocess.check_output() 등 다양한 함수 포함.
- check_output() 함수란?
- 외부 명령어를 실행하고, 그 결과를 바이트 문자열(bytes)로 반환함.
- 기본적으로 표준 출력(stdout)만 캡처함.
✅ 예제 코드 (기본 사용법)
import subprocess
output = subprocess.check_output(["ls", "-l"]) # "ls -l" 명령어 실행
print(output.decode()) # bytes → 문자열 변환
- ["ls", "-l"]: 리스트로 명령어 전달 (쉘 없이 실행됨)
- .decode(): bytes를 str로 변환
✅ subprocess.check_output()을 사용할 때 중요한 옵션
| 옵션 | 설명 |
| shell=True | 명령어를 셸을 통해 실행 (예: subprocess.check_output("ls -l", shell=True)) |
| text=True 또는 universal_newlines=True | 출력을 str로 변환 (바이트 변환 필요 없음) |
| stderr=subprocess.STDOUT | 표준 에러(stderr)도 함께 캡처 |
| timeout=초 | 일정 시간 후 프로세스 종료 |
✅ 예제 코드 (옵션 포함)
output = subprocess.check_output("ls -l", shell=True, text=True)
print(output) # 이미 문자열이므로 decode() 불필요반응형
'Python' 카테고리의 다른 글
| [python] python env 가상환경 만들기 & 활용 가이드 (1) | 2025.09.02 |
|---|---|
| [Python] Subprocess 란? (0) | 2025.05.08 |