argparse는 bool type을 우리가 원하는 대로 받을 수 없다

kiki·2023년 5월 16일
0

에러

목록 보기
10/10
parser.add_argument('bool_x',
                     metavar='--bool_x',
                     type=bool,
                     default=False)

위와 같이 type을 bool로 지정해서 True/False를 받고싶었으나
저렇게 하고 입력받으면 모두 True로 지정된다.
왜냐면 argparse에서는 빈 문자열을 False로, 비어있지 않은 문자열을 True로 받기 때문에!

그래서 나같은 경우는 str으로 지정해서 'True', 'False' 받고
True if bool_x=='True' else False 와 같이 bool type으로 변경해주었다.

0개의 댓글