Argparse is a Python module that makes writing command-line tools, in Python, easy. Just briefly describe your command line interface and argparse will take care of the rest, including:
* parsing the arguments and flags from sys.argv
* converting arg strings into objects for your program
* formatting and printing any help messages
* and much more ...
For those familiar with the optparse module from the Python standard library, argparse improves on this module in a number of ways, including:
* handling positional arguments
* supporting sub-commands
* allowing alternative option prefixes like + and /
* handling zero-or-more and one-or-more style arguments
* producing more informative usage messages
* providing a much simpler interface for custom types and actions
The argparse documentation gives some example code, explains how to use all these features, and provides some information on how to upgrade from optparse.