5.2 コマンドライン引数
Pythonのスタンドアローンプログラムは、ターミナル(コマンドライン)から実行する際に、外部からデータ(引数)を受け取ることができます。
コマンドライン引数の受け取り方
Section titled “コマンドライン引数の受け取り方”コマンドラインから渡された引数にアクセスするには、標準ライブラリの sys モジュールをインポートし、sys.argv という変数(リスト)を使用します。
実際に動きを確認するために、以下の2行を含む test2.py というファイルを作成してみましょう。
# test2.py の内容import sys
print('Program arguments:', sys.argv)プログラムの実行と結果
Section titled “プログラムの実行と結果”ターミナルウィンドウを開き、作成したプログラムにスペース区切りで文字を渡して実行してみます。
引数なしで実行した場合
Section titled “引数なしで実行した場合”$ python test2.pyProgram arguments: ['test2.py']引数を渡して実行した場合
Section titled “引数を渡して実行した場合”$ python test2.py tra la laProgram arguments: ['test2.py', 'tra', 'la', 'la']sys.argv の特徴
Section titled “sys.argv の特徴”実行結果から、sys.argv には以下のような特徴があることがわかります。
- 最初の要素 (
sys.argv[0]): 常に実行したプログラムのファイル名自体(この場合は'test2.py')が格納されます。 - 2番目以降の要素 (
sys.argv[1:]): コマンドラインで入力した追加の文字列('tra','la','la')が、順番にリストの要素として格納されます。