我正在使用docopt创建cli,并遇到以下问题(我将从他们的naval_fate示例cli中引入示例)
naval-fate --version或naval-fate -v将返回cli版本,但当尝试执行naval-fate ship -v以用于不同目的时,它会自动返回与前两个命令相同的结果。
有没有办法防止docopt这样做呢?
谢谢
发布于 2016-11-11 05:49:16
您可以防止docopt将-v解析为一个特殊选项,只需在文档字符串中将其作为一个选项提及即可。例如,假设您想要使用-v表示详细信息:
!/usr/bin/python
"""
Usage: ./ [options]
Options:
-v show verbose printing
"""
from docopt import docopt
arguments = docopt(__doc__)
if arguments["-v"] == True:
print "A verbose message"在这种情况下,不带参数运行脚本将不会执行任何操作,而使用-v运行脚本将生成字符串"A verbose message“
https://stackoverflow.com/questions/37977545
复制相似问题