Pythonのargparse
ライブラリは、コマンドライン引数の取得と解析を容易にします。さらに、argcomplete
パッケージを使用すると、コマンドライン引数のタブ補完を実現できます。
argparseの基本的な使い方
まず、argparse
ライブラリをインポートし、ArgumentParser
オブジェクトを作成します。
import argparse
parser = argparse.ArgumentParser(description='このプログラムの説明(なくてもよい)')
次に、add_argument
メソッドを使用して、受け取りたい引数を追加します。
parser.add_argument('arg1', help='この引数の説明(なくてもよい)') # 必須の引数を追加
parser.add_argument('--arg3') # オプション引数(指定しなくても良い引数)を追加
最後に、parse_args
メソッドを呼び出して引数を解析します。
args = parser.parse_args()
print('arg1='+args.arg1)
print('arg3='+args.arg3)
argcompleteの使い方
argcomplete
は、argparse
で管理されているコマンドライン引数/オプションのタブ補完を提供します。argcomplete
を使用するには、まずargcomplete
パッケージをインストールします。
pip install argcomplete
次に、PythonアプリケーションにPYTHON_ARGCOMPLETE_OK
マーカーとargcomplete.autocomplete()
の呼び出しを追加します。
#!/usr/bin/env python
# PYTHON_ARGCOMPLETE_OK
import argcomplete, argparse
parser = argparse.ArgumentParser()
# 引数の追加
argcomplete.autocomplete(parser)
args = parser.parse_args()
# 以降の処理
最後に、Pythonアプリケーションをシェルの補完フレームワークに登録します。
eval "$(register-python-argcomplete my-python-app)"
これで、Pythonアプリケーションのコマンドライン引数のタブ補完が有効になります。
以上が、Pythonのargparse
とargcomplete
を使用したコマンドライン引数の補完の基本的な使い方です。これらのツールを活用することで、Pythonアプリケーションのユーザビリティを向上させることができます。