コマンドライン引数の取得方法

Pythonでは、コマンドライン引数を使ってプログラムに外部データを渡すことがよく行われます。この引数を処理するためには、主に2つの方法が使われます:sys.argvargparseです。

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に標準で組み込まれているため、特別なインストールなしに利用可能です。