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