저는 파이썬에서 argparse 모듈을 사용하여 명령 행 인터페이스에 입력 된 매개 변수를 구문 분석합니다. 나는 행동이나 metavar 매개 변수를 제거하면Python argparse : metavar and action = store_true
Traceback (most recent call last):
File "./scripts/tp4", line 94, in <module>
main()
File "./scripts/tp4", line 74, in main
modloader.loadModules(sub_parsers)
File "/usr/lib/python2.6/site-packages/tp4/cli/Moduleloader.py", line 66, in loadModules
registered_modules[module_name].setSubparserArgs(module_sub_parser)
File "/usr/lib/python2.6/site-packages/tp4/cli/modules/AutotestModule.py", line 135, in setSubparserArgs
action='store_true', default=False, required=False)
File "/usr/share/tp4/cli/zip/argparse.zip/argparse.py", line 1302, in add_argument
TypeError: __init__() got an unexpected keyword argument 'metavar'
이 작동 :이 오류가
submit_parser.add_argument('-pv','--provision',metavar='PROVISION', dest='PROVISION',
help='provision system',
action='store_true', default=False, required=False)
: 나는 subparser 객체에 다음 add_argument 호출을 가지고있다. 왜 둘 다 같이있을 수 없습니까? argparse 문서에는이 제한에 관한 내용이 없습니다 (http://docs.python.org/dev/library/argparse.html). 어떤 도움
python 버전 .... 확인해야 할 중요한 것 .... – avasal
'action'이''store_true'' 인 경우, 기본값은 이미'False'입니다. (그리고 만약 액션 is 'store_false'''가 기본값은''True''입니다). 'optparse'와는 달리 꽤 편리합니다 (두 경우 모두 기본값은 None입니다). – torek