0

假设有以下代码:

#!/usr/bin/python
"""Does something.

Usage: 
   myprog.py --myopt=<myval>

Options:
  --myopt=<myval>  Some option [default: bla]
"""

arguments = docopt(__doc__)
print arguments

有没有办法检查用户是否为选项“--myopt”提供了一个值,或者保持默认值不变?

我不想在这样的 if 语句中重复默认值:

if arguments['--myopt'] != 'bla':

或使用正则表达式__doc__从文档字符串中提取默认值。毕竟,docopt已经解析了文档字符串。

4

1 回答 1

0

你的意思是这样吗?如果未使用 --myopt 参数或有空白条目,这将打印文档帮助。

if arguments['--myopt'] is None: print __doc__ exit(0)

于 2015-03-25T17:21:13.690 回答