728x90
1. argparse란?
프로그램에 필요한 인자를 사용자 친화적인 명령행 인터페이스로 쉽게 작성하도록 돕는 라이브러리
command 창에서 프로그램 내의 인자를 조절하게끔 도와줌
2. argparse를 사용 하는 경우
스크립트를 실행할 때 인자를 받아서 변수를 처리해야 되는 경우가 생기는데 그럴 때 argparse를 사용합니다.
ex)
ETL script 내의 시간 변수
parser.add_argument('--D1', required=False)
parser.add_argument('--D2', required=False)
parser.add_argument('--HH', required=False)
3. argparse 예제
argparse를 통해 입력받은 인수를
1) 각 변수에 저장하기
2) 리스트에 저장하기
3) 딕셔너리로 저장하기
import argparse
parser = argparse.ArgumentParser(description='Arugment 설명')#parser객체 생성
#parser에 인자 추가시키기, first, second, third 인자 추가
parser.add_argument('--first', type=int)
parser.add_argument('--second', type=int)
parser.add_argument('--third', type=str)
#parse_args()를 통해 parser객체의 인자들 파싱
args = parser.parse_args()
print(args)
print(type(args))
#인자에 해당하는 인수를 받아 저장할 변수 초기화 1)각 변수에 저장하기
first="na"
second="na"
third="na"
#변수 초기화 확인
print(first, second, third)
#args객체의 인자에 값이 들어오면 각 변수에 args의 인수를 대입한다.
if args.first != None: first=args.first
if args.second != None: second=args.second
if args.third != None and len(args.third) >= 1: third=args.third
#변수에 대입된 args객체의 각 인수를 출력
#print("first=%d, second=%d, third=%s" % (first, second, third))
#print("first={0}, second={1}, third={2}".format(first, second, third))
print(f"first={first}, second={second}, third={third}")
#args_list 리스트를 만들어 args객체의 인수를 추가시켜준다.2)리스트에 저장하기
args_list=[]
args_list.append(args.first)
args_list.append(args.second)
args_list.append(args.third)
#리스트의 값들 출력
for i in range(len(args_list)):
print(args_list[i])
#args의 딕셔너리 값을 대입하고 출력한다.3)딕셔너리로 저장하기
args_dict=vars(args)
print(args_dict)
for i in args_dict.values():
print(i)
위의 코드 출력값
argparse의 사용하는 경우라던지, 추가 내용이 있을경우 추가적으로 올리겠습니다.
마지막 업로드일(2022-03-15)
728x90
'language > Python' 카테고리의 다른 글
[Python] datetime 모듈, time, datetime,timedelta,timezone class 그리고 time 모듈, pendulum 모듈 다루기 예제 (0) | 2022.03.03 |
---|---|
[Python] OS, sys, glob 모듈 개념, 활용 예제 (0) | 2022.03.03 |
[Python] 파이썬의 여러가지 formatting 방법 다루기 (0) | 2022.03.02 |
[Python] list comprehension이란? set, dictionary comprehension이란? 개념과 예제 (0) | 2022.03.02 |
[Python] Iterable, Iterator 개념과 예제 및 iterator 직접 만들기 (0) | 2022.03.02 |
댓글