Python에서는 int 및 str 인수를 스크립트에 추가하는 방법을 이해합니다.
parser=argparse.ArgumentParser(description="""Mydescription""")
parser.add_argument('-l', type=str, default='info', help='String argument')
parser.add_argument('-dt', type=int, default ='', help='int argument')
부울은 무엇입니까?
기본적으로 스크립트에 특정 작업을 수행할지 여부를 알려주는 플래그를 스크립트에 전달하고 싶습니다.
답변
action
와 함께 사용할 수 있습니다 store_true
| store_false
, 또는 int를 사용하고 암시 적 캐스팅이 부울 값을 확인하도록 할 수 있습니다.
를 사용하면 and 인수를 action
전달하지 않고 true로 설정하려면 간단히 포함합니다.--foo=true
--foo=false
python myProgram.py --foo
사실 나는 당신이 원하는 것은
parser.add_argument('-b', action='store_true', default=False)
답변
parser.add_argument('--foo', action='store_true')
답변
import distutils.util
ARGP.add_argument('--on', '-o', type=distutils.util.strtobool, default='true')
그것을 부르는 예 :
$ ./myscript # argp.on = 1
$ ./myscript --on=false # argp.on = 0
$ ./myscript --on=False # argp.on = 0
$ ./myscript --on=0 # argp.on = 0
$ ./myscript --on=1 # argp.on = 1
$ ./myscript -o0 # argp.on = 0
$ ./myscript -o false # argp.on == 0
“예”및 “아니오”와 같은 값을 지원하려면 다른 정확한 문자열 일치를 처리하기 위해 인수를 로컬 래퍼 함수에도 바인딩 할 수 있습니다. 또한 입력을 yaml로 해석하여 예 / 아니오도 처리 할 수 있습니다. 그래도 난 한 동안이 일을하지 않은, 그리고 내가 같은과 상호 배타적 인수로 빨아했습니다 최근에 생각하는 dest
가치, 하나 --no-option
와 action='store_false'
, 하나 --option
와action='store_true'