【问题标题】:Is there a built-in way to detect wheter a user changed the default value of an option in docopt?是否有内置方法来检测用户是否更改了 docopt 中选项的默认值?
【发布时间】:2015-03-26 01:21:13
【问题描述】:

假设有以下代码:

#!/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 已经解析了文档字符串。

【问题讨论】:

    标签: python-2.7 command-line-arguments docopt


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 2011-06-27
      • 1970-01-01
      • 2017-12-11
      相关资源
      最近更新 更多