我通常使用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
部分不正确,但我不明白为什么。
这是因为--url
和URL
之间有太多的空格,尝试:
"""
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]
"""
摘自官方文档:
要指定一个选项有参数,在后面加一个描述该参数的词或"="标志。
使用两个空格来分隔选项及其非正式描述。