And*_*jos 4 python command-line argparse docopt
我想docopt用于解析可以多次接收相同选项的命令行.有人可以解释一下怎么做吗?
一个测试例子:
#!/usr/bin/env python
"""
Test program.
Usage:
test.py -v
Options:
-v Flag that should be counted
"""
import docopt
print docopt.docopt(__doc__)
Run Code Online (Sandbox Code Playgroud)
如果我用这个test.py -v,我得到:
{'-v': True}
Run Code Online (Sandbox Code Playgroud)
如果我运行它test.py -vv,它会显示用法消息(表示命令行无效).
我想调整选项文档,以便docopt返回给我:
{'-v': 1}
Run Code Online (Sandbox Code Playgroud)
当只有1 -v通过时:
{'-v': 3}
Run Code Online (Sandbox Code Playgroud)
在挖掘docopt(已关闭)问题列表后,我发现表示这个问题的正确方法是:
#!/usr/bin/env python
"""
Test program.
Usage:
test.py (-v ...)
Options:
-v Flag that should be counted
"""
import docopt
print docopt.docopt(__doc__)
Run Code Online (Sandbox Code Playgroud)
也就是说,必须使用符号" ..."来表示选项可能多次出现.在这种情况下,该选项将被正确计算.如果调用上述程序test.py -vvv,它将正确打印:
{'-v': 3}
符号" ..."也可以与带有参数的参数和选项一起使用,只需点击上面的链接就可以得到一个例子.
| 归档时间: |
|
| 查看次数: |
2505 次 |
| 最近记录: |