我在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.
"""
答案 0 :(得分: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
答案 1 :(得分:0)
To allow -t
along, -o
along, -t
and -o
together:
Script does stuff.
Usage:
script.py [-t] [-o]
Options:
-t --tfile Does stuff
-o --output Does stuff
If it is an error when both -t
and -o
are absent:
Script does stuff.
Usage:
script.py -t
script.py -o
script.py -t -o
Options:
-t --tfile Does stuff
-o --output Does stuff