파이썬 파일 실행할 때 입력인자 전달하는 법
코드
파이썬 파일을 실행할 때 입력인자를 전달하고 싶으면 파이썬 파일의 경로를 입력하고 그 뒤에 띄어쓰기로 구분하여 입력하면 된다. text.py라는 파이썬 파일에 1, x, "3", 3이라는 변수를 전달하고 싶다면 콘솔창에 다음과 같이 입력한다.
python test.py 1 x "3" 3
파이썬 파일 안에서 전달받은 인자를 사용하기 위해서 기본 라이브러리인 sys
를 이용한다. sys.argv
는 콘솔창에서 입력한 인자들을 문자열로 갖고있는 리스트이다. 첫번째 원소는 파이썬 파일의 경로이고 두번째 원소부터 전달받은 인자이다. 입력한 인자는 따옴표를 붙이든 안붙이든 모두 문자열로 전달된다. 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