使用 docopt 格式化用法



我在docopt中的用法语句有问题。

这就是我希望在脚本中使用的方式。可选参数(用 [] 定义),我希望能够将它们一起使用或单独使用。因此,-t -o-o-t应该是有效的。目前我不能在没有-t的情况下使用-o.如果我使用管道|将它们分开,我不能同时使用两者。我尝试了各种组合。我似乎无法让它像 id 一样工作。谁能指出我哪里出错了?

"""
Description:
Script does stuff
Usage:
  script.py (-d <ditem>) (-u <uitem>) (-p <pitem>) (-s <sfile>) [-t <tfile>] [-o <ofile>] [-v]
  script.py (-d <ditem>) (-l) [-t <tfile>] [-o <ofile>] [-v]
  script.py -h | --help
  script.py --version
Options:
  -v --verbose       Does stuff
  -t --tfile         Does stuff
  -o --output        Does stuff
  -l --litem         Does stuff
  -u --uitem         Does stuff
  -p --pitem         Does stuff
  -d --ditem         Does stuff
  -s --sitem         Does stuff
  -h --help          Show this screen.
  --version          Show version.
  """

我能够使用以下方法解决此问题:

通过将用法字符串script.py (-d <ditem>) (-l) ([-t <tfile>] | [-o <ofile>]) [-v]和另一个script.py (-d <ditem>) (-l) [-t <tfile>] [-o <ofile>] [-v]添加意味着我可以单独使用-t-o,也可以一起-t -o一起使用。但是我无法按此顺序使用它们-o -t.

Description:
Script does stuff
Usage:
  script.py (-d <ditem>) (-u <uitem>) (-p <pitem>) (-s <sfile>) [-t <tfile>] [-o <ofile>] [-v]
  script.py (-d <ditem>) (-l) ([-t <tfile>] | [-o <ofile>]) [-v]
  script.py (-d <ditem>) (-l) [-t <tfile>] [-o <ofile>] [-v]
  script.py -h | --help
  script.py --version

要允许一起-t-o一起-t-o

Script does stuff.
Usage:
   script.py [-t] [-o] 
Options:
  -t --tfile         Does stuff
  -o --output        Does stuff

如果当-t-o都不存在时出错:

Script does stuff.
Usage:
   script.py -t
   script.py -o
   script.py -t -o
Options:
  -t --tfile         Does stuff
  -o --output        Does stuff

相关内容

  • 没有找到相关文章

最新更新