참고글

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

 

 

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

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


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



인자값 넘기면서 실행하기
간단한 예제를 살펴봅니다. 다음과 같이 소스를 작성하고 파일명과 경로는 자신이 알기 쉽게 저장해주세요.
1
2
3
4
5
6
7
8
import sys 
 
 
print('sys.argv 길이 : 'len(sys.argv))                                             
 
 
for arg in sys.argv: 
    print('arg value = ', arg) 
cs

 

 

 



명령행을 통해 인자값을 넘겨주세요. 형식은 다음과 같이 띄어쓰기(공백) 단위로 입력합니다.
python [파일] [인자1] [인자2] ...
> python d:\argsTest arg1 arg2                                                    
sys.argv 길이 : 3
arg value = d:\argsTest
arg value = arg1
arg value = arg2
cs



명령행 인자에 띄어쓰기가 있는 경우
명령행 인자에 띄어쓰기가 있는 경우에는 ""(쌍따옴표) 로 묶어줍니다.
> python d:\argsTest "arg1 arg2"                                                    
sys.argv 길이 : 2
arg value = d:\argsTest
arg value = arg1 arg2
cs



명령행 인자에 쌍따옴표가 있는 경우
명령행 인자에 쌍따옴표가 있는 경우에는 \(역슬래시)로 이스케이프 처리해주면 됩니다.
> python d:\argsTest "\"arg1 arg2\""                                            
sys.argv 길이 : 2
arg value = d:\argsTest
arg value = "arg1 arg2" 
cs

블로그 이미지

도로락

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

댓글을 달아 주세요! 질문 환영합니다!