3
저는 docopt
을 사용하여 파이썬에서 명령 행 입력을 구문 분석합니다.docopt에서 반복 요소를 구현하는 데 문제가 발생했습니다.
"""
Usage:
docoptTest.py [options]
Options:
-h --help show this help message and exit
-n --name <name> The name of the specified person
"""
가 그럼 난 docopt을 가져 인수를 구문 분석하여 프린트 :
-n --name <name>... The name of the specified person
:
from docopt import docopt
args = docopt(__doc__)
print(args)
>>> python docoptTest.py -n asdf
{'--help': False,
'--name': 'asdf'}
내가 입력에 두 개 이상의 이름을 허용하는 타원을 퍼팅 시도 내 문서화 문자열을
하지만 사용 오류가 있습니다.
"""
Usage:
docoptTest.py [-n | --name <name>...] [options]
Options:
-h --help show this help message and exit
-n --name The name of the specified person
"""
을하지만 출력은 --name
이 플래그이라고 생각 : 그럼 초기 사용법 메시지에 타원을 넣어.
>>> python docoptTest.py -n asdf asdf
{'--help': False,
'--name': True,
'<name>': ['asdf', 'asdf']}
어떻게 수정합니까?
감사합니다. 이 문제는 근본적인 것입니까 (인수 또는 값이든 모호한 것입니까) 아니면 옵션 설명으로 할 수있는 다른 것이 있습니까? – PolarBearITS
당신이 할 수있는 일은 그렇게 많지 않습니다. 나중에 나눌 수 있습니다. 당신은''asdf asf ''를''주위에''를 사용하여 하나의 인자로 간주 할 수 있으며, 직접 분리 할 수 있습니다. docopt는 utilites에 대한 Open Groups 스펙을 따릅니다 : http://pubs.opengroup.org/onlinepubs /007908799/xbd/utilconv.html 이중 대시 옵션을 처리하는 방법은 설명되어 있지 않지만 모범 사례에 따라 처리 될 수 있습니다. –