为什么参数解析为bool类型

  • 本文关键字:bool 类型 参数 docopt
  • 更新时间 :
  • 英文 :


我通常使用docopt来处理命令行参数,但我现在有一个意外解析参数的情况(这一定是我的一个愚蠢的错误,因为它总是工作得很好)

"""
API to do something
Usage:
    api.py [options]
Options:
    --port PORT     port to listen on   [default: 64645]
    --url   URL     elasticsearch address   [default: http://elk.example.com:9200]
"""

这是通过conf = docopt.docopt(__doc__)调用解析的,之后我将conf设置为

{
    '--port': '64645',
    '--url': False
}

--url部分不正确,但我不明白为什么。

这是因为--urlURL之间有太多的空格,尝试:

"""
API to do something
Usage:
    api.py [options]
Options:
    --port PORT     port to listen on   [default: 64645]
    --url URL       elasticsearch address   [default: http://elk.example.com:9200]
"""

摘自官方文档:

要指定一个选项有参数,在后面加一个描述该参数的词或"="标志。

使用两个空格来分隔选项及其非正式描述。

相关内容

  • 没有找到相关文章