[Python] argparse 모듈 bool(boolean) type

DeadKim·2022년 6월 15일
0

Python

목록 보기
1/2
post-thumbnail

argparse

python을 사용하면서 argparse를 사용해야할 일이 많이 있다.
그 중에서도 type을 설정시에 bool 타입을 선언하는 방법에 대해 작성하려고 한다.

예전부터 썼는데 요즘 안쓰다보니 까먹어서 기록



import argparse
def parse_args():
    parser = argparse.ArgumentParser(description='Preprocess data input params')
    parser.add_argument("--path", required=False, type=str, default=None, help="Data path")
    
    """이런식으로 먼저 true에 대한 리스트를 정의해서 argument로 들어오는
       것들 중에 true_false_list 없는 것들이 들어올 경우 false가 됨 """        
    true_false_list = ['true', 'yes', "1", 't','y']
    parser.add_argument("--tsv_save", 
                         type= lambda s : s.lower() in true_false_list, 
                         required=False, default=True, 
                         help="TSV save : True or False (e.g true,y, 1 | false, n, 0)")
    parser.add_argument("--integrate", 
                         type= lambda s : s.lower() in true_false_list, 
                         required=False, default=True, 
                         help="integrate json format : True or False (e.g true,y, 1 | false, n, 0)")
    
    args = parser.parse_args()
    
    return args
        

여기서 더 생각해봐야 할점은 true_false_list 리스트에 없는데 프로그램을 사용하는 사용자가 다른 형식에 true의 문자를 argument로 넣을 수도 있다는 건데......

profile
내가 보려고 만든 velog

0개의 댓글