2013-03-21 3 views
0

3 개의 인수가 있습니다 : --a --b --c 그리고 명령을 받아들이기를 원하지만,/b/c의 모든 조합도 유효합니다. 예컨대 :Docopt - 1 개 이상의 옵션이 필요합니다.

command.py --a 
command.py --a --b 
command.py --a --b --c 
... 

하지만 인수없이 :

command.py 

감사합니다! 이것은 가장 사용자 친화적 인 명령 줄 인터페이스하지 않을 수도 있지만

>>> from docopt import docopt 
>>> u = '''usage: command.py --a [--b --c] 
...    command.py --b [--a --c] 
...    command.py --c [--a --b]''' 
>>> docopt(u, ['--a']) 
{'--a': True, 
'--b': False, 
'--c': False} 
>>> docopt(u, ['--b']) 
{'--a': False, 
'--b': True, 
'--c': False} 
>>> docopt(u, ['--c']) 
{'--a': False, 
'--b': False, 
'--c': True} 
>>> docopt(u, []) 
usage: command.py --a [--b --c] 
     command.py --b [--a --c] 
     command.py --c [--a --b] 

:

답변

1

는 내 명령은 적어도 그들 중

에 다음과 같은 작업을 수행 할 수 있습니다 동의 할 . 어쩌면 인터페이스에 대해 좀 더 자세히 설명 할 수 있으며 구현 방법에 대해 조언 할 수 있습니다 (옵션뿐만 아니라 명령 및 위치 인수 포함).

관련 문제