コマンドライン引数の取得方法
Python
では、コマンドライン引数を使ってプログラムに外部データを渡すことがよく行われます。この引数を処理するためには、主に2つの方法が使われます:sys.argv
とargparse
です。
sys.argv
の使い方
sys.argv
は、最も基本的なコマンドライン引数の取得方法です。スクリプト実行時に渡された引数をリスト形式で取得します。
使用例
import sys
print(sys.argv) # スクリプト名と引数をすべて出力
例えば、以下のように実行すると:
python myscript.py arg1 arg2
出力は次のようになります:
['myscript.py', 'arg1', 'arg2']
このリストの最初の要素(sys.argv[0]
)はスクリプトの名前であり、次の要素が引数となります。
注意点
- 引数が文字列として扱われるため、整数など別の型が必要な場合は明示的な型変換が必要です。
argparse
の使い方
argparse
モジュールは、Python
に標準搭載されており、複雑な引数解析を簡単に行うことができます。特に、引数の型指定やヘルプメッセージの自動生成が可能です。
使用例
import argparse
parser = argparse.ArgumentParser(description="引数の説明を追加できます")
parser.add_argument("input", help="入力値", type=int)
args = parser.parse_args()
print(args.input + 1)
このスクリプトを以下のように実行すると:
python myscript.py 5
出力は次のようになります:
6
argparse
の利点
- ヘルプメッセージの自動生成:
-h
または--help
オプションを使うと、利用可能な引数やその説明を表示できます。 - 型指定:
type
オプションを使って、引数のデータ型を指定できます。 - デフォルト値の設定やオプション引数のサポートなど、柔軟な引数処理が可能です。
結論
Python
でコマンドライン引数を扱う際は、簡単な処理であればsys.argv
、より複雑な引数解析やユーザーフレンドリーなインターフェースを必要とする場合はargparse
を使用するのが良いでしょう。どちらもPython
に標準で組み込まれているため、特別なインストールなしに利用可能です。