[Python #24]Pythonでのコマンドライン引数

こんにちは。PythonチームのT.Oです。今回は、pythonプログラムを実行する際に、コマンドライン引数を使って実行する方法を記述します。

コマンドライン引数とは

コマンドライン引数とは、Pythonでプログラムを実行する際に指定する引数のことで、プログラムに引数の情報を渡す役割を持ちます。

コマンドライン引数の渡し方

例として2つのコマンドライン引数の渡し方は次のとおりです。

$python 実行ファイル名.py 引数1 引数2

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

まずはpythonの標準モジュールであるsysモジュールをインポートします。

import sys

次にコマンドライン引数を参照します。

sys.argv[参照したい要素の番号]

上記の参照したい要素の番号ですが、0番目には実行ファイル名が格納されます。なので、引数1を参照したい場合には1を、引数2を参照したい場合には2を[ ]の中に記述します。

以下はコマンドライン引数を利用したサンプルプログラムです。

import sys

# コマンドライン引数の数をチェック
if len(sys.argv) != 2:
    print("Usage: python greeting.py <name>")
else:
    # コマンドライン引数から名前を取得
    name = sys.argv[1]

    # 挨拶メッセージを表示
    print(f"Hello, {name}!")

以下は実行例と実行結果です。

$python greeting.py TO

Hello, TO!

このプログラムはサンプルプログラム名以外に引数を一つ受け取り、その引数を名前として表示するプログラムです。もし、引数が少なかったり、多い場合は以下のように使い方が表示されます。

Usage: python greeting.py <name>

おわりに

いかがだったでしょうか。コマンドライン引数はpython以外の言語でも役に立つのでぜひ活用してみてください。

今回紹介した方法は他の言語とも共通となる使い方ですが、pythonではargparseというモジュールも用意されているので興味のある方は調べてみてください。

参考文献

Pythonでコマンドライン引数を扱う方法(sys.argv, argparse)