[파이썬] argparse ArgumentParser의 epilog 사용법

argparse는 Python에서 커맨드 라인 인터페이스를 처리하는 데 사용되는 강력한 모듈입니다. ArgumentParser 클래스는 커맨드 라인에서 인자를 파싱하고 관리하기 위해 사용됩니다. 이 클래스에는 epilog라는 속성이 있는데, 이를 사용하여 도움말 출력에 추가 정보를 제공할 수 있습니다.

epilog은 커맨드 라인 인터페이스의 도움말 후에 출력되는 추가 텍스트입니다. 주로 사용 사례, 예제 또는 주의 사항과 같은 부가 설명을 포함할 수 있습니다. epilog에 추가된 내용은 도움말 메시지의 맨 아래에 표시되며, 사용자가 명령어를 실행할 때 이에 대한 정보를 얻을 수 있습니다.

아래는 argparse ArgumentParserepilog 속성을 사용하는 간단한 예제입니다:

import argparse

def main():
    # ArgumentParser 인스턴스 생성
    parser = argparse.ArgumentParser(
        description='사용자 이름을 출력하는 간단한 프로그램',
        epilog='이 프로그램으로 인사말을 출력할 수 있습니다.'
    )

    # 인자 추가
    parser.add_argument('--name', metavar='NAME', help='인사할 사용자의 이름')

    # 인자 파싱
    args = parser.parse_args()

    # 이름이 입력되지 않은 경우에는 디폴트로 'World' 사용
    name = args.name if args.name else 'World'

    # 인사말 출력
    print(f'Hello, {name}!')

if __name__ == '__main__':
    main()

위의 코드는 사용자의 이름을 입력받아 인사말을 출력하는 간단한 프로그램을 보여줍니다. argparse.ArgumentParserdescription 속성은 도움말 출력의 상단에 표시되는 설명을 담고 있고, epilog 속성은 하단에 표시되는 추가 정보를 담고 있습니다.

이제 프로그램을 실행하면 커맨드 라인에서 --name 또는 -n 옵션을 사용하여 이름을 전달할 수 있습니다. 사용자가 인자 없이 프로그램을 실행하면 디폴트로 ‘World’라는 이름을 사용하여 출력됩니다.

$ python hello.py --name Alice
Hello, Alice!

$ python hello.py
Hello, World!

argparseepilog를 활용하면 사용자에게 필요한 추가 정보를 제공할 수 있습니다. 이를 통해 프로그램의 사용법을 명확히 전달하고 사용자 경험을 향상시킬 수 있습니다.