📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법
Python | 2018. 7. 9. 14:43

[Python] 명령행으로 프로그램 인자값 받기 - sys.argv

참고글

[PyCharm] 파이참 python 실행시 인자값 받기 - sys.argv

명령행으로 프로그램 인자값 받기 - sys.argv

어느 언어나 프로그램 실행시 명령행을 통해 필요한 인자값(Arguments Value)을 받을 수 있는 방법을 제공합니다. 자바나 C언어 등 에서도 main 메서드를 통해 명령행 매개변수를 받는 방법을 제공하는것과 같습니다.

파이썬에는 명령행을 받기위해 sys 라이브러리를 import 해주어야 합니다.

import sys

sys.argv 는 배열입니다. sys.argv[0]에는 기본적으로 python 실행파일의 경로가 담겨있기 때문에 sys.argv 배열의 길이는 기본적으로 1입니다.

print(len(sys.argv))
print(sys.argv[0])

인자값 넘기면서 실행하기

간단한 예제를 살펴봅니다. 다음과 같이 소스를 작성하고 파일명과 경로는 자신이 알기 쉽게 저장해주세요.

import sys


print('sys.argv 길이 : ', len(sys.argv))


for arg in sys.argv:
    print('arg value = ', arg)

명령행을 통해 인자값을 넘겨주세요. 형식은 다음과 같이 띄어쓰기(공백) 단위로 입력합니다.

python [파일] [인자1] [인자2] ...
> python d:\argsTest arg1 arg2
sys.argv 길이 : 3
arg value = d:\argsTest
arg value = arg1
arg value = arg2

명령행 인자에 띄어쓰기가 있는 경우

명령행 인자에 띄어쓰기가 있는 경우에는 ""(쌍따옴표) 로 묶어줍니다.

> python d:\argsTest "arg1 arg2"
sys.argv 길이 : 2
arg value = d:\argsTest
arg value = arg1 arg2

명령행 인자에 쌍따옴표가 있는 경우

명령행 인자에 쌍따옴표가 있는 경우에는 \(역슬래시)로 이스케이프 처리해주면 됩니다.

> python d:\argsTest "\"arg1 arg2\""
sys.argv 길이 : 2
arg value = d:\argsTest
arg value = "arg1 arg2"
도로락

도로락

Writer

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그