Python/Utils

터미널에서 파이썬 실행 시 인자 input 순서대로 받기(sys.argv 이용)

jimmy_AI 2022. 3. 14. 16:52
반응형

Python bash input argument : sys.argv

bash 터미널 환경 내에서 파이썬 파일을 실행할 때, 명령어를 통하여 input을 줄 수 있는

가장 간단한 방법인 sys.argv를 활용한 예제를 살펴보도록 하겠습니다.

 

 

sys.argv 사용법

예를 들어, 아래와 같이 example.py라는 파이썬 파일을 실행할 때,

3과 hello라는 인자 2개를 순서대로 받으려는 상황을 가정해보겠습니다.

$ python example.py 3 hello

이 방법을 활용하면 터미널에서 py 파일이 실행되는 과정 내부에서의 변수를 지정할 수 있습니다.

 

example.py 파일에서 아래와 같이 sys.argv를 활용하여 인자를 순서대로 받아주시면 됩니다.

import sys

a = sys.argv[1]
b = sys.argv[2]

print(sys.argv[0]) # example.py -> py 파일의 이름
print(int(a) + 5) # 8 -> input으로 받은 값은 일단 문자열로 인식하여 자료형 변환 필요
print(b) # hello

 

 

sys.argv 주의 사항

sys.argv[순서 번호]로 인자에 접근하여 변수를 가져올 수 있습니다.

 

다만, 0번 인자에는 python 뒤에 가장 먼저 입력될 py파일의 이름이 저장되어 주의가 필요하며,

 

숫자를 적은 경우에는 기본적으로 문자열로 인식하기에, int 혹은 float 등으로의 자료형 변환이

이루어져야 숫자로써의 활용이 가능합니다.

 

또한, 인자 간의 구분은 공백을 기준으로 진행됩니다.