[Python] 파이썬 명령행 옵션 추가 argparse, optparse

업데이트:

파이썬 명령행 옵션 추가 argparse, optparse

1. argparse

  • 사용법
from argparse import ArgumentParser

parser = ArgumentParser()
parser.add_argument('-a', '--application', type = str, required = True, help = 'application name')
parser.add_argument('-t', '--datetime', type=str, help = 'format: YYYY-mm-ddTHH:MM:SS')
parser.add_argument('-d', '--destination', type=str, help = 'alpha or real')

2. OptionParser

  • 사용법
from optparse import OptionParser

2-1. add_option

parameter option & meaning
dest argument가 저장될 변수이름
help option에 대한 help messege(ex: %default, %prog)
metavar help message에서 argument를 표현할때 쓰임
metavar dest의 default 값 표현
action default는 store
store : argument 저장
store_true : option 설정되면 true로 저장
store_false : option 설정되면 false로 저장
type int, float, string, complex, choice

2-2. parse_args()

(options, args) = parser.parse_args()

parsing한 옵션값을 변수로 불러오기 위해 options에 넣어줌.

2-3. Example

from optparse import OptionParser

if __name__ == '__main__':
  parser = OptionParser()
  parser.add_option("-c", "--targetdate", dest="targetdate", action="store")
  (options, args) = parser.parse_args()

3. argparse vs optparse

그렇다면 둘 중 어느 방식을 선호할까? 대체적으로 argparse를 더 많이 사용한다. 왜냐면 호환성 측면에서 optparse는 파이썬2 버전에서 호환되지 않는다고 알고있다.