2014-04-15 4 views
1

저는 Python을 처음 접했고 가변 개수의 인수를 전달하여 스크립트를 실행하려고합니다. 즉, 내 터미널 창에서 나는 다음과 같은 같은 같은 명령을 실행하고자한다 : 사례 1에서가변 개수의 인수를 사용하여 Python 스크립트 작성 및 문서화

// Case1 
python script.py arg 
// Case2 
python script.py arg1 arg2 arg3 arg3 arg4 ... argN 

내가 그렇게하는 방법을 알고를하지만 스크립트가 처리 할 수 ​​있도록하는 방법을 모른다 여러 인수와 가변 인수가 전달 된 사례 (Case2). 내가 어떻게 할 수있는?


보너스 : argparse 모듈을 통해 위의 동작을 문서화하는 방법은 무엇입니까?

+1

스트레이트 [문서 argparse]에서 (https://docs.python.org/dev/library/argparse.html) :'nargs = '+'' – vaultah

답변

0

그것은 간단합니다 같은 :

import sys 

for arg in sys.argv[2:]: 
    print arg 

이 인쇄 명령 행에서 주어진 모든 인수. 당신이 argparse을 사용하려는 경우

, 당신이 할 수 있습니다

import argparse 

parser = argparse.ArgumentParser(description='View arguments') 
parser.add_argument('arguments', nargs='+', help='passed arguments') 
args = parser.parse_args() 
print args.arguments 
+0

+1을 추가했습니다. Google에는 많은 예제가 있습니다. 문서 도구 : https://docs.python.org/2/library/argparse.html#module-argparse –

0

sys.argv[2:] 당신이 그것을 모두 1 개 얻기 위해 무엇을해야한다 - 목록에서 N 입력 인수를

편집 : 안녕하세요 안녕하세요

test.py : 예제 코드가

여기에 빠른 스크립트입니다 테스트

코드 :

import sys 
l = sys.argv[2:] 
print l 

인쇄 : 당신은 모든 입력 인수를 얻고 싶은 경우에

['hello', 'test']

, 당신은 할 수 있습니다 :

코드 :

import sys 
l = sys.argv[1:] 
print l 

인쇄 :

,

['hi', 'hello', 'test']

+0

스크립트 예제를 사용하면 더 많이 만들 수 있습니까? 스크립트에서 여러 인수를 처리하기 위해 작성한 것을 사용하는 방법을 사용하지 않습니다. – Backo

+0

@ 백포도주 argparse에 – heinst

관련 문제