본문 바로가기

Python

[python] 파이썬 명령행 인자 받기 (sys.argv)

반응형

파이썬 스크립트 실행시 인자값을 전달받아 실행하면 편리한 경우가 많습니다. 어느언어에서든 명령행 인자를 통해서 값을 넘겨줄 수 있는데요. 파이썬에서 명령행 인자를 받는 방법은 아래와 같습니다.

import sys

file_path = sys.argv[1]

if len(sys.argv) != 2:
    print("Insufficient arguments")
    sys.exit()

print("File path : " + file_path)

실행

>>> python test.py /home/limcode/test.json

"File path : /home/limcode/test.json

위 예제 코드에서 보듯이 python 스크립트의 명령행 인자들은 argv 배열에 전달됩니다. argv[0]에는 실행하는 스크립트의 경로가 담겨 있고, argv 배열의 1번째 원소부터 인자로 전달되는 값들을 저장하고 있습니다. 

len(sys.argv)

len(argv)를 하면 실행파일 1개를 더한 명령행에 전달된 인자의 수를 출력합니다. 위의 예제에서는 test.py /home/limcode/test.json 두 개의 값이 저장되어 있으므로 argv 배열의 길이는 2입니다.

import sys

for arg in sys.argv:
    print(arg)

위의 코드는 인자값으로 전달된 모든 인자값들을 출력합니다.

 

 

반응형