【python】コマンドライン引数を使用する

2020年5月17日

pythonをコマンドプロンプトから実行する時は実行時に引数を与えることができます。これをコマンドライン引数といいます。

pythonのコマンドライン引数はsysライブラリの配列「argv」に格納されています。
下記方法で引数が格納されている配列を取得します。

import sys
argv = sys.argv

コマンドライン引数を表示する

コマンドライン引数の内容をprint関数で表示します。

if __name__ == "__main__":
    import sys
    argv = sys.argv
    
    print( argv )
    print( "要素1つ目:", argv[0] )
    print( "要素2つ目:", argv[1] )
    print( "要素3つ目:", argv[2] )
    print( "要素4つ目:", argv[3] )

下記ではコマンドライン引数として「444」、「aaa」、「rrr」を入力した結果になります。

C:\python学習\コマンドライン引数>python 01_commandline.py 444 aaa rrr
['commandline_1.py', '444', 'aaa', 'rrr']
要素1つ目: commandline_1.py
要素2つ目: 444
要素3つ目: aaa
要素4つ目: rrr

コマンドライン引数が格納されているsys.argvは要素1つ目では実行するpythonファイル名が格納されているのが特徴です。
入力した引数を使用したいのであれば要素2個目からを参照する必要があります。

与えた2つのコマンドライン引数を加算させる

引数を加算するプログラムです。数値以外を入力するとエラーが発生するので入力しないでください。

if __name__ == "__main__":
    import sys
    argv = sys.argv
    
    num = int( argv[1] ) + int( argv[2] )
    print( num )

2-3行目:コマンドライン引数を取得
4行目:2つのコマンドライン引数をint型にキャストして加算

下記はコマンドライン引数で2つの値を入力して上記のプログラム「commandline_2.py」を実行します。

C:\python学習\コマンドライン引数>python 02_commandline.py 45 33
78

1行目:コマンドライン引き数として45と33を渡します。
2行目:加算結果「78 = 45 + 33」が表示されます。

ソースコードはこちらから

このページで紹介している記事のソースコードの販売を行っています。
python基本を押さえたソースコードを収録しています。
購入頂いたソースコードは商用利用OKになります。

ソースコードの販売はこちら