argsparse 모듈을 활용하여, python 파일 실행 시 변수 설정 가능
본 내용은, argparse를 활용하여, 3개의 숫자를 인자로 받아 합계를 계산하는 간단한 모듈을 구현합니다.
ArgumentDefaultsHelpFormatter
(권장)# argparse_sum_practice.py
import argparse
# STEP 01 : 인자값을 받은 인스턴스(객체) 생성
parser = argparse.ArgumentParser(
prog='프로그램명을 입력',
description='Argparse Tutorial : 3개의 변수를 입력하여 합산',
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
위 ArgumentDefaultsHelpFormatter 설정 시, --help 인자를 통해 변수별 상세 정보를 확인할 수 있다.
$ python ./argparse_sum_practice.py
아래와 같이 출력되는 것을 확인할 수 있다.
usage: 프로그램명을 입력 [-h]
Argparse Tutorial : 3개의 변수를 입력하여 합산
optional arguments:
-h, --help show this help message and exit
앞서 인자를 담기 위해 생성한 parser
객체에 인자를 추가합니다.
parser.add_argument(
'--first',
type=int, default=1,
help='첫번째 인자를 입력하세요')
parser.add_argument(
'--second',
type=int, default=2,
help='두번째 인자를 입력하세요')
parser.add_argument(
'--third',
type=int, default=3,
help='세번째 인자를 입력하세요')
args
객체에 추가된 인자 정보 저장# parser 객체에 추가한 arguments들의 정보를 parsing하여 `args`객체에 저장
args = parser.parse_args()
# 추가된 각각의 인자값 호출 가능
x = args.first
y = args.second
z = args.third
print(f"x : {x}")
print(f'y : {y}')
print(f'z : {z}')
print(f'세 수의 합 : {x+y+z}')
--help
를 통해 입력정보를 파악 가능$ python ./argparse_sum_practice.py
usage: 프로그램명을 입력 [-h] [--first FIRST] [--second SECOND] [--third THIRD]
Argparse Tutorial : 3개의 변수를 입력하여 합산
optional arguments:
-h, --help show this help message and exit
--first FIRST, -f FIRST
첫번째 인자를 입력하세요 . (default: 1)
--second SECOND, -s SECOND
두번째 인자를 입력하세요 . (default: 2)
--third THIRD, -t THIRD
세번째 인자를 입력하세요 . (default: 3)
$ python ./argparse_sum_practice.py --first=150 --second=200 --third=50
x : 150
y : 200
z : 50
세 수의 합 : 400
위와 같이, 원하는 형식으로 잘 출력되는 것을 확인할 수 있다.
딥러닝모델의 하이퍼파라미터 셋팅에 상당히 유용하게 활용될 예정