질문
명령 줄 인수에 선택적 플래그를 추가하는 방법은 무엇인가요?
예를 들어, 다음과 같이 작성할 수 있도록 하려면
python myprog.py
또는
python myprog.py -w
다음을 시도해보았습니다.
parser.add_argument('-w')
하지만 다음과 같은 오류 메시지가 표시됩니다.
Usage [-w W]
error: argument -w: expected one argument
이는 -w 옵션에 대한 인수 값이 필요하다는 것을 의미합니다. 플래그만 받아들이는 방법은 무엇인가요?
이 질문에 대해서는 http://docs.python.org/library/argparse.html을(를) 참조하십시오.
답변
As you have it, the argument w
is expecting a value after -w
on the command line. If you are just looking to flip a switch by setting a variable True
or False
, have a look here (specifically store_true and store_false)
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-w', action='store_true')
where action='store_true'
implies default=False
.
Conversely, you could haveaction='store_false'
, which implies default=True
.
이렇게 하면, w
인자는 명령줄의 -w
뒤에 값을 기대합니다. 변수를 True
또는 False
로 설정하여 스위치를 전환하려는 경우, 여기를 확인하세요 (특히 store_true와 store_false).
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-w', action='store_true')
action='store_true'
는 default=False
를 의미합니다.
반대로, action='store_false'
를 사용할 수도 있으며, 이는 default=True
를 의미합니다.
댓글