Skip to content

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 でインストールします。

1
python3 -m pip install docopt-ng

サンプルコード

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/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

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

実行結果 2

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

実行結果 3

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

実行結果 4

1
2
3
4
5
6
$ python3 sample.py --help
Usage: sample.py [-hv]

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