개요


Python의 실행시에 커맨드 라인 인수를 다룰 때, ArgumentParser(argparse)를 사용하면 편리하다. 다양한 형식으로 인수를 지정하는 것이 가능하다.

처음에 argparse를 사용할 생각으로 여러가지 포스팅을 살펴보았지만, 자세한 옵션까지 설명하고 있는 포스팅이 많아서 간단한 사용법을 알기 어려웠기 때문에 여기서는 간단하게 바로 시작할 수 있는 필요한 최소한의 내용에 대해 정리하고자 한다.

ArgumentParser이란?


프로그램을 실행시에 커맨드 라인에 인수를 받아 처리를 간단히 할 수 있도록 하는 표준 라이브러리이다. ArgumentParser를 사용하면,

$ python program.py test.txt --alpha 0.01

위와 같이, 프로그램에서 처리할 수 있는 파일명이나 어떠한 파라미터등을 실행시에 지정할 수 있다.

사용법


기본

  1. argparse를 import한다.

  2. parser를 만든다.

  3. 인수를 설정한다.

  4. 분석한다.

위의 일련의 처리를 프로그램을 맨 처음에 실행한다.

import argparse# 1. argparse를 import한다.

parser = argparse.ArgumentParser(description='이 프로그램의 설명(그 외 기타등등 아무거나)')# 2. parser를 만든다.# 3. parser.add_argument로 받아들일 인수를 추가해나간다.
parser.add_argument('arg1', help='이 인수의 설명(그 외 기타등등 아무거나)')# 필요한 인수를 추가
parser.add_argument('arg2', help='foooo')
parser.add_argument('--arg3')# 옵션 인수(지정하지 않아도 괜칞은 인수를 추가
parser.add_argument('-a', '--arg4')# 자주 사용하는 인수라면 약칭이 있으면 사용할 때 편리하다

args = parser.parse_args()# 4. 인수를 분석print('arg1='+args.arg1)
print('arg2='+args.arg2)
print('arg3='+args.arg3)
print('arg4='+args.arg4)

실행 예

$ python test.py input.txt output.txt --arg3 11111 -a 22222
arg1=input.txt
arg2=output.txt
arg3=11111
arg4=22222