docopt将任何v解释为版本

2024-05-14 23:11:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用docopt创建一个cli,有以下问题(我将从他们的示例cli中引入示例)

naval-fate --versionnaval-fate -v将返回cli版本,但当尝试为不同的目的执行naval-fate ship -v时,它会自动返回与前两个命令相同的结果。你知道吗

有没有办法阻止docopt这样做?你知道吗

谢谢


Tags: 命令目的版本示例cliversiondocoptnaval
1条回答
网友
1楼 · 发布于 2024-05-14 23:11:54

您只需在docstring中自己将它作为一个选项提及,就可以阻止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”

相关问题 更多 >

    热门问题