0
我有三個參數:--a --b --c,我希望我的命令至少接受它們,但是a/b/c的所有組合都是有效的。 E.g:Docopt - 需要一個或多個選項
command.py --a
command.py --a --b
command.py --a --b --c
...
但並非沒有爭論:
command.py
謝謝!
我有三個參數:--a --b --c,我希望我的命令至少接受它們,但是a/b/c的所有組合都是有效的。 E.g:Docopt - 需要一個或多個選項
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]
雖然這可能不是最用戶友好的命令行界面。也許,你可以更詳細地解釋你的接口,我可以告訴你如何實現它(可能不僅有選項,而且還有命令和位置參數)。