logo

파이썬 파일 실행할 때 입력인자 전달하는 법 📂프로그래밍

파이썬 파일 실행할 때 입력인자 전달하는 법

코드

파이썬 파일을 실행할 때 입력인자를 전달하고 싶으면 파이썬 파일의 경로를 입력하고 그 뒤에 띄어쓰기로 구분하여 입력하면 된다. 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