概要
- pythonファイル(xxx.py)を直接実行する際にコマンドラインに引数を入力することで引数によって違う処理ができます。
- 今回は『sys.argv』を利用して処理の中でコマンドラインに入力した引数を取得する方法を紹介します。
参考
手順
sys.argv処理追加
- まず、『Hello world』を出力する初期プログラムです。
helloworld.py
# メイン処理
if __name__ == '__main__':
# hello worldを出力
print("hello world")
実行コマンド :
python helloworld.py
実行結果 :
hello world
- ここにsysをimportします。
- 続けて『sys.argv』をargsに保存することで引数を確認できます。
helloworld.py
# sysを追加
import sys
# メイン処理
if __name__ == '__main__':
# sys.argvをargsに保存
args = sys.argv
# hello worldを出力
print("hello world")
# 引数を出力
print(args)
実行コマンド :
python helloworld.py “test1” 100
実行結果 :
hello world
[‘helloworld.py’, ‘test1’, ‘100’]
sys.argvの中身を確認
- sys.argsには引数がリストで保存されています。
- 引数は
- sys.args[0]にはファイルパス
- sys.args[1]から入力した引数を順番で保存されています。
helloworld.py
# sysを追加
import sys
# メイン処理
if __name__ == '__main__':
# sys.argvをargsに保存
args = sys.argv
# 引数を一つずつ出力
for index, arg in enumerate(args):
print(f"arg[{index}] : {arg}")
helloworld.py
# メイン処理
if __name__ == '__main__':
# hello worldを出力
print("hello world")
実行コマンド :
python helloworld.py “test1” 100
実行結果 :
arg[0] : helloworld.py
arg[1] : test1
arg[2] : 100
まとめ
- 今回は『sys.argv』を利用して処理の中でコマンドラインに入力した引数を取得する方法を紹介しました。
- sys.argvに引数がリストとして保存されていること、
sys.argv[0]にはファイルパスが保存されていること
を注意してください。