Summary
argparse는 터미널 명령어를 통해 스크립트 내부의 변수 값을 제어할 수 있게 해주는 CLI 도구- 파서 생성 → 인자 추가 → 분석 3단계 흐름
- 위치 인자(필수)와 선택 인자로 구분하여 다양한 실행 환경 설계 가능
0. 들어가며
argparse를 사용하면 터미널에서 옵션을 입력해 Python 코드 내 변수 값들을 제어할 수 있다.
python main.py extract --sample 10 --verbose1. 개요
argparse는 커맨드 라인에서 인자(Argument)를 받아 파이썬 내부 변수로 변환해 주는 라이브러리
2. 기본 사용법
2.1 흐름
import argparse
# 1. Parser 생성
parser = argparse.ArgumentParser(description="이 프로그램은 예제입니다.")
# 2. 인자 추가
parser.add_argument("name", help="사용자 이름")
parser.add_argument("--age", help="나이")
# 3. 분석
args = parser.parse_args()
print(f"이름: {args.name}, 나이: {args.age}")2.2 위치 인자 vs 선택 인자
| 구분 | 위치 인자 | 선택 인자 |
|---|---|---|
| 특징 | 하이픈(-) 없음 | 하이픈(-, --) 붙음 |
| 규칙 | 필수 입력, 순서 중요 | 생략 가능, 순서 무관 |
| 용도 | 핵심 데이터 | 옵션 설정, 모드 변경 |
2.3 핵심 옵션
| 옵션 | 기능 | 설명 |
|---|---|---|
type | 타입 지정 | 기본 str → 다른 타입으로 변환 |
default | 기본값 설정 | 미입력 시 사용할 값 |
choices | 선택지 제한 | 유효성 검사 자동화 |
action | 플래그 설정 | 옵션 존재 여부 검사 |
required | 필수 옵션 | 선택 인자지만 입력 강제 |
nargs | 리스트로 받기 | 입력값을 리스트로 수신 |
parser.add_argument("--count", type=int)
parser.add_argument("--mode", default="normal")
parser.add_argument("color", choices=['red', 'blue', 'green'])
parser.add_argument('--verbose', action='store_true')
parser.add_argument('--api-key', required=True)
parser.add_argument('--files', nargs='*')3. 활용
import argparse
def main():
parser = argparse.ArgumentParser(description="데이터 처리 파이프라인")
parser.add_argument("mode", choices=["extract", "convert", "validate", "all"])
parser.add_argument("-s", "--sample", type=int, default=None)
parser.add_argument("-v", "--verbose", action="store_true")
args = parser.parse_args()
print(f"🚀 실행 모드: {args.mode}")
if args.verbose:
print("📢 상세 로그 모드 활성화")
if args.sample:
print(f"🧪 샘플 {args.sample}개만 처리")
if __name__ == "__main__":
main()python main.py extract -s 5 --verbose
# 🚀 실행 모드: extract
# 📢 상세 로그 모드 활성화
# 🧪 샘플 5개만 처리마치며
argparse를 사용하면 코드 수정 없이 터미널 명령어만으로 프로그램 동작을 유연하게 바꿀 수 있다.
Reference