[ANN] argparse 0.4 - Command-line parsing library
Steven Bethard
steven.bethard at gmail.com
Fri Jan 5 01:45:36 CET 2007
Announcing argparse 0.4
-----------------------
argparse home:
http://argparse.python-hosting.com/
argparse single module download:
http://argparse.python-hosting.com/file/trunk/argparse.py?format=raw
argparse bundled downloads at PyPI:
http://www.python.org/pypi/argparse/
New in this release
===================
* The add_argument method now allows a positional argument with
nargs='*' to specify a default value::
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('foo', nargs='*', default=['def'])
>>> parser.parse_args('1 2 3'.split())
Namespace(foo=['1', '2', '3'])
>>> parser.parse_args([])
Namespace(foo=['def'])
About argparse
==============
The argparse module is an optparse-inspired command line parser that
improves on optparse by:
* handling both optional and positional arguments
* supporting parsers that dispatch to sub-parsers
* producing more informative usage messages
* supporting actions that consume any number of command-line args
* allowing types and actions to be specified with simple callables
instead of hacking class attributes like STORE_ACTIONS or
CHECK_METHODS
as well as including a number of other more minor improvements on the
optparse API. To whet your appetite, here's a simple program that sums
its command-line arguments and writes them to a file::
parser = argparse.ArgumentParser()
parser.add_argument('integers', type=int, nargs='+')
parser.add_argument('--log', type='outfile', default=sys.stdout)
args = parser.parse_args()
args.log.write('%s\n' % sum(args.integers))
args.log.close()
More information about the Python-announce-list
mailing list