argparse는 「명령줄 인자를 파싱하는 표준 라이브러리」입니다.
sys.argv의 단순한 리스트보다 훨씬 정교한 처리 — 인자 형식 검증, 도움말 자동 생성, 기본값, 필수 인자 — 가 가능합니다.
기본 사용.
import argparse.
parser = argparse.ArgumentParser(description="내 스크립트").
parser.add_argument("input") — 위치 인자(필수).
parser.add_argument("-v", "--verbose", action="store_true") — 플래그.
parser.add_argument("--count", type=int, default=1) — 키워드 인자.
args = parser.parse_args().
args.input — 위치 인자 값.
args.verbose — True/False.
args.count — 정수.
타입 검증.
type=int로 자동으로 정수로 변환·검증.
잘못된 입력 시 자동 오류 메시지.
choices=["a", "b", "c"]로 허용된 값만, required=True로 필수 키워드 인자, nargs="+"로 여러 값을 리스트로.
자동 도움말.
--help (또는 -h) 옵션이 자동으로 추가되어, 사용자가 python script.py --help를 치면 모든 인자와 설명이 깔끔하게 출력됩니다.
추가 노력 없이 「이 스크립트 어떻게 쓰는 거지」 질문에 즉시 답할 수 있습니다.
더 큰 스크립트는 「하위 명령(subcommand)」도 지원합니다.
git clone, git commit처럼 「대 명령 + 하위 명령」 구조를 add_subparsers()로 만듭니다.
각 하위 명령마다 다른 인자 구조를 가질 수 있어, 풍부한 CLI 도구를 만들 수 있습니다.
한 줄 요약
argparse는 명령줄 인자를 파싱·검증·도움말 자동 생성하는 표준 라이브러리입니다.
위치 인자·플래그·키워드 인자, 타입 검증, 하위 명령 모두 지원합니다.
더 알아볼 것
- click·typer — 더 현대적인 CLI 라이브러리
- argparse vs sys.argv 비교
- argparse의 action 옵션들