development

Python Argparse : 기본값 또는 지정된 값

big-blog 2020. 6. 18. 07:26
반응형

Python Argparse : 기본값 또는 지정된 값


플래그가 지정된 값이없는 경우 기본값으로 값을 지정하는 선택적 인수를 갖고 싶지만 사용자가 값을 지정하면 기본값 대신 사용자 지정 값을 저장하고 싶습니다. 이에 대한 조치가 이미 있습니까?

예를 들면 :

python script.py --example
# args.example would equal a default value of 1
python script.py --example 2
# args.example would equal a default value of 2

액션을 만들 수는 있지만 기존 방법이 있는지 확인하고 싶었습니다.


import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--example', nargs='?', const=1, type=int)
args = parser.parse_args()
print(args)

% test.py 
Namespace(example=None)
% test.py --example
Namespace(example=1)
% test.py --example 2
Namespace(example=2)

  • nargs='?' 0 또는 1 인수를 의미
  • const=1 인수가 0 인 경우 기본값을 설정합니다.
  • type=int 인수를 int로 변환

당신이 원하는 경우 test.py설정할 수 example없음이 경우에도 1로 --example지정하면 포함 default=1. 즉,

parser.add_argument('--example', nargs='?', const=1, type=int, default=1)

그때

% test.py 
Namespace(example=1)

참고 URL : https://stackoverflow.com/questions/15301147/python-argparse-default-value-or-specified-value

반응형