我有三个参数:--a --b --c,我希望我的命令至少接受它们,但是a / b / c的所有组合也是有效的 . 例如:
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 回答
您可以执行以下操作:
虽然这可能不是用户友好的命令行界面 . 也许,你可以更详细地解释你的界面,我可以告诉你如何实现它(可能不仅有选项,还有命令和位置参数) .