python - 为什么 Python docopt 在这里说“-c 需要参数”?
问题描述
Python docopt 在简单的情况下工作正常,但在这种情况下-c requires argument
,尽管它有一个参数,但它一直在说 。
最少的代码(Python 3.6):
'''Usage:
test_docopt.py x YYY ZZZ [-a AAA] [-b BBB] [-c CCC]
Options:
-a AAA description
-b BBB description
-c CCC description'''
from docopt import docopt
print(docopt(__doc__))
结果:
C:\>python3 test_docopt.py x foo bar -a alpha -b bravo -c charlie
-c requires argument
Usage:
test_docopt.py x YYY ZZZ [-a AAA] [-b BBB] [-c CCC]
C:\>
我究竟做错了什么?
解决方案
无法在 Linux 中重现:
$ python3 test_docopt.py x foo bar -a alpha -b bravo -c charlie
{'-a': 'alpha',
'-b': 'bravo',
'-c': 'charlie',
'YYY': 'foo',
'ZZZ': 'bar',
'x': True}
无论哪种方式,我都建议使用 python 的标准argparse。
推荐阅读
- mapbox - 使用 Navigation UI SDK 重新路由只能工作一次
- javascript - 在wordpress中将元素发送到背景
- javascript - 从异步函数导出模块
- javascript - 如何在父组件中对 setState 进行 http 调用,然后将状态发送给所有子组件?
- asp.net - 在 EF Core 中使用继承的最佳方式
- python - 嵌套字典中键的总和值
- swiftui - SwiftUI如何通过ID而不是索引从ForEach中删除
- javascript - 尝试在 React 中迭代 JSON 对象
- java - 如何使用 Amazon Polly 在 Java 中启用神经文本转语音 (NTTS)
- ios - 如何解决:ARC 禁止显式发送“autorelease”编译器警告消息?