argparse는 커맨드라인 인자를 파싱하는 파이썬 표준 라이브러리입니다. 이 치트시트는 위치/옵션 인자, 타입 변환, 서브커맨드, 도움말 생성의 핵심 패턴을 정리합니다.
언제 이 치트시트를 보나?
- CLI 도구나 스크립트에 옵션/인자를 받고 싶을 때
--help자동 생성이 필요할 때
핵심 패턴
ArgumentParser(): 파서 생성add_argument(): 인자 정의 (위치/옵션)parse_args(): 파싱 후Namespace객체 반환- 옵션:
-v,--verbose(앞에-붙임) - 위치 인자:
-없이 정의
최소 예제
| |
| |
| |
주요 add_argument 옵션
| |
nargs 옵션
| nargs | 의미 | 결과 타입 |
|---|---|---|
N (정수) | 정확히 N개 | list |
? | 0개 또는 1개 | 값 또는 None |
* | 0개 이상 | list |
+ | 1개 이상 | list |
| |
action 옵션
| |
서브커맨드
| |
| |
실무 패턴
| |
| |
| |
자주 하는 실수/주의점
- 위치 인자 순서: 정의 순서대로 파싱됨
- 옵션 이름 충돌:
-h는 기본적으로 help에 예약됨 - type=bool 함정:
type=bool은 의도대로 동작 안 함 →action="store_true"사용 - required 옵션: 위치 인자는 기본적으로 필수,
nargs="?"로 선택적으로 변경 가능 - dest 네이밍:
--my-option은args.my_option으로 접근 (하이픈 → 언더스코어)
대안: click, typer
더 복잡한 CLI가 필요하면 서드파티 라이브러리 고려:
| |
![Featured image of post [Python Cheatsheet] 17. argparse & CLI - 커맨드라인 인자 처리](/post/python-cheatsheet/argparse-command-line-interface-guide-core-cli-arguments/wordcloud_hu_d7df3c10fd6e2521.webp)
![[Python Cheatsheet] 15. venv & pip - 환경/의존성 기본](/post/python-cheatsheet/venv-pip-virtualenv-dependency-installation-best-practices/wordcloud_hu_9e64f4b5c0a64076.webp)
![[Python Cheatsheet] 16. Environment Variables - os.environ/dotenv 패턴](/post/python-cheatsheet/manage-env-variables-os-environ-dotenv-envfile-configuration-guide/wordcloud_hu_2f68017c59b5a47c.webp)
![[Python Cheatsheet] 17. argparse & CLI - 커맨드라인 인자 처리](/post/python-cheatsheet/argparse-command-line-interface-guide-core-cli-arguments/wordcloud_hu_8f700864016e2d1f.webp)
![[Python Cheatsheet] 18. subprocess - 외부 프로세스 실행](/post/python-cheatsheet/external-process-run-execute-command-subprocess-guide-security/wordcloud_hu_faed85545ec60698.webp)
![[Python Cheatsheet] 19. Typing - 실전 타입힌트 패턴](/post/python-cheatsheet/practical-type-hint-patterns-static-analysis-guide-2024/wordcloud_hu_f06222359f419878.webp)
![[Python Cheatsheet] 62. Packaging - pyproject.toml/배포 체크리스트](/post/python-cheatsheet/advanced-package-distribution-pyproject-toml-pypi-guide/wordcloud_hu_7cabcdbd9a63c7d9.webp)
![[Python Cheatsheet] 23. match-case - 구조적 패턴 매칭 (Py3.10+)](/post/python-cheatsheet/structural-pattern-matching-switch-guide-py310-py311-code-examples/wordcloud_hu_2cda0fd47115850c.webp)
![[Python Cheatsheet] 53. shutil & tempfile - 파일/디렉토리 복사/이동/임시파일](/post/python-cheatsheet/file-directory-automation-shutil-tempfile-best-practices/wordcloud_hu_552ca129404266e1.webp)
![[Python Cheatsheet] 21. Enum & Flag - 열거형 실전 패턴](/post/python-cheatsheet/enum-flag-intenum-strenum-auto-bitwise-guide-best-patterns/wordcloud_hu_c5e80eb17669433.webp)