47

I am trying to learn how to use python's argparse module. Currently my python script is:

parser = argparse.ArgumentParser(description='My first argparse attempt',
                                add_help=True)
parser.add_argument("-q", action ="store", dest='argument',
                    help="First argument")
output = parser.parse_args()

And it gives the output as :

usage: test.py [-h] [-q ARGUMENT]

My first argparse attempt

optional arguments:
  -h, --help   show this help message and exit
  -q ARGUMENT  First argument

Now, lets suppose I want my -h or --help argument to print a usage example also. Like,

   Usage: python test.py -q "First Argument for test.py"

My purpose is to print the above usage example along with the default content of -h argument so that the user can get a basic idea of how to use the test.py python script.

So, is this functionality inbuilt in the argparse module. If no than what is the correct way to approach this problem.

1 Answer 1

60

Use parser.epilog to display something after the generated -h text.

parser = argparse.ArgumentParser(
    description='My first argparse attempt',
    epilog='Example of use')

output = parser.parse_args()

prints:

My first argparse attempt

optional arguments:
  -h, --help  show this help message and exit

Example of use
Sign up to request clarification or add additional context in comments.

3 Comments

@Noob -- Note that whitespace will be stripped from your description and epilog (which is often not good for "Examples of Use". To allow that you want the argparse.RawDescriptionHelpFormatter ( docs.python.org/dev/library/… )
Is there a way to use argparse.RawDescriptionHelpFormatter just for the epilog and not for the description? I want the description to be wrapped automatically. but I want to take care of the formatting of epilogue.
Please add note about RawDescriptionHelpFormatter so that we can +1 this answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.