0

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

这就是我希望在脚本中使用的方式。可选参数(用 [] 定义),我希望能够一起或单独使用它们。所以-t -o-o-t应该是有效的。目前我无法使用-o没有-t. 如果我使用管道|将它们分开,我不能同时使用它们。我尝试了各种组合。我似乎无法让它像 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.
  """
4

2 回答 2

0

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

通过添加使用字符串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
于 2014-04-01T13:29:02.220 回答
0

允许-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
于 2014-04-01T16:20:10.630 回答