目前我第一次使用docopt lib,所以我肯定做错了什么。
我的剧本是:
"""prog
Usage:
prog.py (-h | --help)
prog.py (--version)
prog.py -s TAG [-t NB_NUC]
Options:
-h, --help help
--version version
-s TAG Some TAG I want.
-t NB_NUC A number of nuc.
"""如果我写: python prog.py -s SMT
我得到:
{'--help': False,
'--version': False,
'-h': False,
'-s': True,
'-t': True,
'NB_NUC': None,
'TAG': 'SMT'}这似乎是对的,但如果我写:
python prog.py -s -t 10 -> TAG contain 10 (instead of None)
python prog.py -t 10 -s SMT -> TAG contain always 10 (instead of SMT) and NB_NUC contain SMT (instead of 10)
python prog.py -s SMT -t -> TAG contain SMT and NB_NUC contain None (and its what I expected on this way)所以,我试了很多组合,但我不明白这怎么能说.
我想要的是标记总是包含与-s参数相对应的值,如果在-s之后什么都没有给出,则没有一个或一个错误,我不明白为什么不是这样。
谢谢你的帮助!
发布于 2020-03-11 12:24:54
问题来自于以前版本的docopt不适用于表缩进。实际版本是这样的,PEP8推荐使用空格。
对于格式化来说,最简单的方法是只编写
Usage:
prog.py (-h | --help)
prog.py (-v | --version)
prog.py [options] <mandatory_file>并将不同的选项及其描述放在Options部分中。
发布于 2016-03-09 15:23:38
您就快到了,只需要围绕论点的"<...>“:
"""prog
Usage:
prog.py (-h | --help)
prog.py (--version)
prog.py -s TAG [-t NB_NUC]
Options:
-h, --help help
--version version
-s TAG Some TAG I want.
-t NB_NUC A number of nuc.
"""https://stackoverflow.com/questions/35871791
复制相似问题