采用-需要一个或多个选项

  • 本文关键字:一个 选项 采用 docopt
  • 更新时间 :
  • 英文 :


我有三个参数:——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]

尽管这可能不是最友好的命令行界面。也许,您可以更详细地解释您的接口,我可以建议您如何实现它(可能不仅使用选项,还使用命令和位置参数)。

相关内容

  • 没有找到相关文章