본문 바로가기
Python/Python FAQ

Python argparse 명령 줄 플래그 (옵션) 인자 없이, Python argparse command line flags without arguments

by 베타코드 2023. 10. 18.
반응형

질문


명령 줄 인수에 선택적 플래그를 추가하는 방법은 무엇인가요?

예를 들어, 다음과 같이 작성할 수 있도록 하려면

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를 의미합니다.

반응형

댓글