コンテンツにスキップ

Python のコメントから引数を処理する docopt-ng

Python で引数の処理を行うライブラリは幾つか存在します。 代表的なものには下記があると思います。

ライブラリ 最新バージョン 最終リリース日
argparse - -
Click 8.1.7 2023/08/18
docopt-ng 0.9.0 2023/05/31
Python Fire 0.5.0 2022/12/13

今回は docopt-ng の基本的な使い方をメモしておきます。

インストール

pip でインストールします。

python3 -m pip install docopt-ng

サンプルコード

サンプルコードは以下の通りです。

#!/usr/bin/env python3

"""Usage: sample.py [-hv]

Options:
  -h --help
  -v --verbose    verbose mode
"""
from docopt import docopt

if __name__ == "__main__":
    arguments = docopt(__doc__)
    print(arguments)

実行結果

実行結果は以下の通りです。

実行結果 1

$ python3 sample.py
{'--help': False,
 '--verbose': False}

実行結果 2

$ python3 sample.py -v
{'--help': False,
 '--verbose': True}

実行結果 3

$ python3 sample.py --verbose
{'--help': False,
 '--verbose': True}

実行結果 4

$ python3 sample.py --help
Usage: sample.py [-hv]

Options:
  -h --help
  -v --verbose    verbose mode