파이썬에서 입력파라미터를 받는 방법은 여러가지가 있다. 가장 쉽게는 파이썬에 내장된 sys모듈을 이용하는 방법이 있고, 더 고급(?)스럽게 사용한다며 argparse 패키지를 이용할 수 있다. 차례대로 하나씩 알아보도록 하겠다.

 

 

파이썬 입력파라미터

 

 

1. sys 모듈 이용하기1. sys 모듈 이용하기

sys모듈을 이용하는 방법은 간단한다. main에서 sys.argv[1]를 호출하면 된다. 해당 코드 실행시에 입력파라미터를 띄어쓰기 기준으로 여러개 넣었다면, 인덱싱을 통해서 해당 내용을 사용할 수 있다. 예를 들어, sys.argv[2]라고 하면 2번째 입력한 값을 이용할 수 있다. sys.argv[0]을 입력하면 파이썬 코드명을 불러올 수 있다.

 
2. argparse 모듈 이용하기

argparse 모듈을 이용하면, 명령프롬프트창에서 프로그램의 입력파라미터를 사용하는 것처럼 사용할 수 있다. 예를 들어, -h를 입력하면 사용방법을 확인할 수 있는 등으로 말이다.

argparse는 add_argument 함수를 이용해서, 입력파라미터 값을 어떻게 처리해야 하는지 정의할 수 있다. 자주 사용하는 함수 입력값을 정리해보면 아래와 같다.

 

args는 n개의 입력값을 모아서 리스트로 넣는다. ?는 하나의 값만 입력받을 때 사용한다. *는 모든 인자를 리스트로 수집한다. +도 모든 명령행 인자를 리스트로 모으는데, 하나도 제공되지 않으면 에러가 발생한다.

type으로 int, str 혹은 argparse.FileType을 이용하여 파일을 바로 읽기나 쓰기 가능한 상태로 만들 수도 있다.

default는 없을 때 default로 사용할 값을 지정할 수 있다.

dest는 값을 저정할 이름인데, 위치 입력파라미터는 dest값이 직접 사용되고, 선택인자의 경우 대문자가 사용된다. 선택인자의 경우 소문자로 하고 싶다면 dest='abcd'같은 형식으로 직접 지정하면 된다.

action은 어떤 액션을 할 지를 말한다. store는 값을 저장하는 것, store_true, store_false는 True와 False값을 저장하는 것, store_const, append_const, count, version 등의 액션이 가능하고 직접 임의의 액션을 지정할 수도 있다.

 

 argparse의 자세한 사용방법은 파이썬 튜토리얼에도 잘 설명되어 있다.

 


간단하게 아래와 같이 argparse를 이용해서 입력파라미터를 정의해보았다. 정의할 내용이 많다면, 별도의 파이썬 파일로 만드는 것도 가능하다. parser 객체만 불러와서 이용하면 된다.

 

import argparse

parser =argparse.ArgumentParser(description="param")
parser.add_argument('text', nargs="?", type=str, help="Input Text")

args = parser.parse_args()
print(args.text)

 


오늘은 이렇게 파이썬 입력파라미터 받는 법을 알아보았다. sys 모듈을 이용해서 간단하게 처리할 수도 있지만, 처리해야 할 입력파라미터가 많은 경우 argparse를 이용하는 것이 더 효율적이다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기