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

 
Previous Post Python/파이썬] 팩토리얼의 자연 로그 구하기 함수, Log Factorial; lnF...Excel/엑셀] 팩토리얼(Factorial) 값 구하기 함수, 계승 계산 하는 법윈도우 계산기] 팩토리얼(Factorial) 값 구하기, 계승 계산 하는 법; Calc W...Python/파이썬] 팩토리얼 구하기(Factorial 값 계산) 소스; 1~100 (0~...팩토리얼(Factorial) 구하기 프로그램 소스, 팩토리얼(계승)이란? [수학Java/자바] 팩토리얼 구하기(Factorial 값 계산) 소스; 1~100 (0~100...자바스크립트: 영문(미국식) 날짜/시간 문자열 간단히 출력; Time Stamp JavaS...Perl/펄] 한국식 날짜/시간 문자열(타임 스탬프) 출력: ISO Time StampPerl/펄] 영문(미국식) 날짜/시간 문자열 간단히 출력; scalar localtimePerl/펄] 2자리수 년도 구하기, 두 자리 연도 출력; Two Digits Year

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

Wednesday, January 17, 2007
스폰서 링크

명령행 프로그램(텍스트 모드 프로그램)의 대부분은 "실행시 옵션"을 받아들입니다.(물론 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)


더 읽기:
Python | 파이썬 프로그래밍

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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