logo

Pythonファイル実行時に引数を渡す方法 📂プログラミング

Pythonファイル実行時に引数を渡す方法

コード

Pythonファイルを実行する時に、入力引数を渡したいなら、Pythonファイルのパスを入力して、その後ろにスペースで区切って入力すればいい。text.pyというPythonファイルに1, x, “3”, 3という変数を渡したい場合、コンソールに次のように入力する。

python test.py 1 x "3" 3

Pythonファイルの中で渡された引数を使用するためには、標準ライブラリのsysを利用する。sys.argvは、コンソールで入力された引数を文字列として持っているリストだ。最初の要素はPythonファイルのパスで、二番目の要素からが渡された引数だ。引数に引用符を付けても付けなくても、すべて文字列として渡される。test.pyファイルを次のように書いて実行してみれば、

# 테스트 파일 작성
import sys

print("sys.argv:", sys.argv)
print("type of sys.argv:", type(sys.argv))

for i, arg in enumerate(sys.argv):
    print("sys.argv[{}]:".format(i), arg, ", type:", type(arg))

print("sys.argv[3] == sys.argv[4]:", sys.argv[3] == sys.argv[4])

# 콘솔창에서 실행
>python test.py 1 x 3 "3"

sys.argv: ['test.py', '1', 'x', '3', '3']
type of sys.argv: <class 'list'>

sys.argv[0]: test.py , type: <class 'str'>
sys.argv[1]: 1 , type: <class 'str'>
sys.argv[2]: x , type: <class 'str'>
sys.argv[3]: 3 , type: <class 'str'>
sys.argv[4]: 3 , type: <class 'str'>
sys.argv[3] == sys.argv[4]: True

もっと高度な機能が欲しいなら、argparseライブラリを使えばいい。

環境

  • OS: Windows11
  • Version: Python 3.9.13