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既に docstring を解析しました。

4

1 に答える 1

0

こんな感じですか?--myopt 引数が使用されていない場合、または空白のエントリがある場合は、ドキュメント ヘルプが出力されます。

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

于 2015-03-25T17:21:13.690 に答える