我正在尝试使用 docopt 创建命令行界面。这是我的文件的简化版本:
#!/usr/bin/env python
"""
Test program.
Usage:
test.py [options]
Options:
-a <input>
-b
-c
-d
"""
import docopt
print docopt.docopt(__doc__)
我本质上希望能够以任何顺序指定任何选项。但是,如果我忘记为-a
标志指定参数,则会得到如下输出:
$ python test.py -a -b -c
{"-a": "-b",
"-b": False,
"-c": True,
"-d": False}
Docopt 将-b
标志视为标志的参数-a
,而不是将输入视为无效而拒绝。有没有一些简单的方法可以检测到这一点,或者让 docopt 拒绝接受这种格式错误的输入?