Display pydoc's description as part of argparse '--help'
You can retrieve the docstring of your script from the __doc__
global. To add it to your script's help, you can set the description
argument of the parser.
"""My python script
Script to process a file
"""
p = argparse.ArgumentParser(description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
p.add_argument('foo', help="Name of file to process")
p.parse_args()
Then the help will look like:
$ python tmp.py --help
usage: tmp.py [-h] foo
My python script
Script to process a file
positional arguments:
foo Name of file to process
optional arguments:
-h, --help show this help message and exit
You can use the epilog
keyword argument instead of description
to move the docstring to the end of the help, instead of immediately following the usage string.