https://docs.python.org/3/tutorial/stdlib.html#command-line-arguments
sys.argv
- sys.argv는 따로 파싱을 하지 않고 입력 인자를 리스트로 받아서 실행하는 것
- 스크림트 포함 인자 리스트
python demo.py one two→['demo.py','one','two']- 간단히 사용할 때 :
sys.argv[1:]로 인자만 슬라이스
argparse
- 파싱을 할 때 값에 대한 예외 처리를 미리 해서 안정적으로 사용할 수 있다.
import argparse
parser = argparse.AtgumentParser(
prog="top",
description="show top lines from each file",
)
parser.add_argument("filenames", nargs="+") #하나 이상 파일
parser.add_argument("-l","--lines",type=int, default=10) #선택적옵션
args=parser.parse_args()
print(args.filenames, args.lines)실행 예시
python top.py --lines=5 alpha.txt beta.txt
# args.filenames -> ['alpha.txt','beta.txt']
# args.lines -> 5
python top.py a.txt
# args.lines -> 10