컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Wednesday, January 17, 2007

Python/파이썬] sys.argv 명령행 옵션 구하기(인수;아규먼트;매개변수;Command Line Argument)


명령행 프로그램(텍스트 모드 프로그램)의 대부분은 "실행시 옵션"을 받아들입니다.(물론 GUI 프로그램도 명령행 옵션을 사용할 수 있음) 즉, 프로그램을 실행할 때, 프로그램명 뒤에 옵션을 지정해 줄 수 있습니다.

펄(Perl)의 "@ARGV" 나
자바의 "String[] args"나,
C언어의 "int argc, char* argv[]" 에 해당하는 것이,

파이썬에서는 sys.argv 입니다.


sys.argv[0] 에는 항상 파이썬 스크립트 자기 자신의 파일명이 풀패스로 들어갑니다.

sys.argv[1] 에는 첫번째 옵션이 들어갑니다.
sys.argv[2] 에는 두번째 옵션이 들어갑니다.
...


옵션 개수 구하기
argc 에 해당하는 것은 없고, sys.argv 의 요소 개수를 구하면 됩니다.

옵션을 주지 않고 실행했을 때 len(sys.argv) 는 1입니다. 즉, 옵션 개수는 항상 최소한 1은 됩니다.

따라서 len(sys.argv)에서 1을 마이너스 해주어야 실제 옵션 개수가 구해집니다.



실행시 옵션 (Argument; sys.argv) 다루기 예제
파일명: 0.py
#!/usr/bin/python
# -*- coding: cp949 -*-

import sys


if len(sys.argv) is 1:
  print "옵션을 주지 않고 이 스크립트를 실행하셨군요"


print "옵션 개수: %d" % (len(sys.argv) - 1)


print "\n< 옵션 목록 >"

for i in range(len(sys.argv)):
  print "sys.argv[%d] = '%s'" % (i, sys.argv[i])




실행 결과 화면:
(1번째는 아무 옵션 없이 실행, 2번째는 한 개의 옵션만, 3번째는 AAA BBB CCC 자장면 ZZZ 라는 5개의 옵션을 붙여 실행)
D:\Z>0.py
옵션을 주지 않고 이 스크립트를 실행하셨군요
옵션 개수: 0

< 옵션 목록 >
sys.argv[0] = 'D:\Z\0.py'

D:\Z>
D:\Z>
D:\Z>
D:\Z>0.py AAA
옵션 개수: 1

< 옵션 목록 >
sys.argv[0] = 'D:\Z\0.py'
sys.argv[1] = 'AAA'

D:\Z>
D:\Z>
D:\Z>
D:\Z>0.py AAA BBB CCC 자장면 ZZZ
옵션 개수: 5

< 옵션 목록 >
sys.argv[0] = 'D:\Z\0.py'
sys.argv[1] = 'AAA'
sys.argv[2] = 'BBB'
sys.argv[3] = 'CCC'
sys.argv[4] = '자장면'
sys.argv[5] = 'ZZZ'

D:\Z>



좀더 실용적인 예제입니다. 명령행 옵션으로 숫자를 입력받아 처리합니다: ▶▶ Python/파이썬] 실행시 옵션으로, 숫자 입력 받기 예제, Input Number argv (Argument, Option)




tag: python
Python | 파이썬 프로그래밍

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top