카테고리 없음
Python Argparse
ㅈ현
2022. 7. 1. 00:43
argparse 라이브러리 사용법
argparse — Parser for command-line options, arguments and sub-commands — Python 3.10.5 documentation
argparse — Parser for command-line options, arguments and sub-commands Source code: Lib/argparse.py The argparse module makes it easy to write user-friendly command-line interfaces. The program defines what arguments it requires, and argparse will figure
docs.python.org
명령행 옵션 기본 사용법
실행 파라미터로 arg1이라는 파라미터를 가지며, 해당 파라미터는 str 타입으로 파싱되는 가장 기본적인 사용법이다.
Example
#arg_example1.py
import argparse
parser = argparse.ArgumentParser(description='argparse Example')
parser.add_argument('--arg1')
args = parser.parse_args()
print(args.arg1)
실행
python arg_example1.py --arg1 Example
Example
-h –help 파라미터
실행시 명령행 옵션중 -h, –help는 기본적으로 선언되어있는 옵션이며, 해당 옵션은 사용 가능한 argument들의 목록을 보여준다.
실행
python arg_example1.py -h
usage: arg_example1.py [-h] [-arg1 ARG1]
argparse Example
optional arguments:
-h, --help show this help message and exit
-arg1 ARG1
파라미터 추가
실행 파라미터는 .add_argument()을 통해 추가할 수 있다.
실행 파라미터는 풀네임은 –로 표현, 약어는 -로 표현하는 관습이 있다.
ex) --epochs, -e => 둘다 같은 epochs라는 파라미터를 의미함.
add_argument의 파라미터
add_argument에서 자주 사용되는 파라미터로는 다음과 같은 목록이 있다.
- type : 자료형의 타입을 선언한다 (int, float등)
- help : 해당 argument의 도움말을 표시한다.
- default : 해당 argument를 사용하지 않을떄 기본적으로 사용될 값이다.
- required : default값은 False이며, True로 선언시, 해당 argument는 실행시 반드시 넣어줘야 한다.
- action : default값은 ‘store’ 이며 ‘store’는 인자값을 저장한다.
- append : 리스트로 저장할때 사용되며 해당 옵션을 주면 여러번 argument를 사용할때마다 해당 값들이 리스트로 저장된다.
Example
import argparse
#arg_example2.py
parser = argparse.ArgumentParser(description='argparse Example')
parser.add_argument('--arg1', help= '첫번째 인자 입니다', default='example1')
parser.add_argument('--arg2, -a2', help= '두번째 인자 입니다', type=int, default=2)
parser.add_argument('--arg3, -a3', help= '세번째 인자 입니다 (이 인자는 반드시 넣어줘야 합니다!)', required=True)
parser.add_argument('--arg4', action='append', help= '네번째 인자 입니다. 이 인자는 여러번 사용될때마다 리스트로 저장합니다.', type=int)
args = parser.parse_args()
print(args)
실행
python3 arg_example2.py --arg3 required --arg4 1 --arg4 2
Namespace(arg1='example1', arg4=[1, 2], **{'arg2, _a2': 2, 'arg3, _a3': 'required'})