파이썬 메인 모듈에서 인자(argument) 파싱

2019-04-11 • pythonpython, argument, argparse • 1 min read

파이썬 main을 실행할 때 인자(argument)를 주고싶은 경우 다음과 같이 할 수 있습니다. 인자는 positional argument와 optional argument로 구성할 수 있습니다. (자세한 정보는 https://docs.python.org/3.7/library/argparse.html 참고하세요.)

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('parg1') # positional argument
    parser.add_argument('parg2') # positional argument
    parser.add_argument('--oarg1') # optional argument
    parser.add_argument('--oarg2') # optional argument
    args = parser.parse_args()
    print(args)

다음은 실행 커맨드에 따라 달라지는 args를 보여줍니다.

  • python main.py 1 2
    • Namespace(oarg1=None, oarg2=None, parg1='1', parg2='2')
  • python invalidanc.py 1 2 --oarg1=3
    • Namespace(oarg1='3', oarg2=None, parg1='1', parg2='2')
  • python invalidanc.py 1 2 --oarg1=3 --oarg2=4
    • Namespace(oarg1='3', oarg2='4', parg1='1', parg2='2')