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.