[파이썬] argparse ArgumentDefaultsHelpFormatter 사용법

개요

argparse는 Python의 내장 모듈로, 명령행 인자를 간편하게 파싱하고 사용할 수 있게 해줍니다. 이 모듈은 ArgumentParser 클래스를 통해 사용됩니다. argparse는 ArgumentDefaultsHelpFormatter라는 클래스를 제공하여, 명령행 인자의 기본값을 도움말에 표시하는 기능을 제공합니다.

사용법

argparse.ArgumentDefaultsHelpFormatter 클래스를 사용하기 위해서는 ArgumentParser 객체를 생성할 때 formatter_class 인자에 해당 클래스를 지정해야 합니다.

import argparse

# ArgumentParser 객체 생성
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)

# 나머지 코드 작성
...

ArgumentDefaultsHelpFormatter 클래스는 HelpFormatter 클래스를 상속하므로, ArgumentParser 객체의 도움말 출력 형식을 세부적으로 제어할 수 있습니다.

기본값 표시

ArgumentDefaultsHelpFormatter 클래스는 명령행 인자의 기본값을 도움말에 표시합니다. 이는 도움말을 생성할 때 자동으로 수행됩니다. 예를 들어, 다음과 같은 코드가 있다고 가정해봅시다.

import argparse

# ArgumentParser 객체 생성
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)

# 인자 추가
parser.add_argument('--name', default='World', help='The name to greet')

# 프로그램 실행
args = parser.parse_args()

이 경우 --name 인자의 기본값 ‘World’가 도움말에 자동으로 표시됩니다.

주의사항

ArgumentDefaultsHelpFormatter 클래스를 사용할 때 주의해야 할 점은, 도움말 메시지가 너무 길어진다는 것입니다. 명령행 인자가 많고 기본값이 긴 경우에는 도움말이 표시되기 힘들 수 있습니다. 이 경우에는 ArgumentDefaultsHelpFormatter 대신 RawTextHelpFormatter 클래스를 사용하여 도움말을 보기 좋게 제어할 수 있습니다.

결론

argparse의 ArgumentDefaultsHelpFormatter 클래스를 사용하면 명령행 인자의 기본값을 도움말에 간편하게 표시할 수 있습니다. 도움말 출력 형식을 세부적으로 제어할 때 유용하게 사용할 수 있는 기능입니다. 주의사항에 유의하여 적절하게 활용해보세요.