Commit 1e08dc25 authored by Steven Bethard's avatar Steven Bethard

Merged revisions 81490 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81490 | steven.bethard | 2010-05-23 19:38:00 -0700 (Sun, 23 May 2010) | 1 line

  argparse documentation updates (including updates to optparse and getopt documentation that were promised in the PEP)
........
parent dc57afcc
...@@ -672,8 +672,8 @@ command-line args should be handled. The supported actions are: ...@@ -672,8 +672,8 @@ command-line args should be handled. The supported actions are:
>>> import argparse >>> import argparse
>>> parser = argparse.ArgumentParser(prog='PROG') >>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument('-v', '--version', action='version', version='%(prog)s 2.0') >>> parser.add_argument('--version', action='version', version='%(prog)s 2.0')
>>> parser.parse_args(['-v']) >>> parser.parse_args(['--version'])
PROG 2.0 PROG 2.0
You can also specify an arbitrary action by passing an object that implements You can also specify an arbitrary action by passing an object that implements
...@@ -1725,3 +1725,6 @@ A partial upgrade path from optparse to argparse: ...@@ -1725,3 +1725,6 @@ A partial upgrade path from optparse to argparse:
* Replace strings with implicit arguments such as ``%default`` or ``%prog`` with * Replace strings with implicit arguments such as ``%default`` or ``%prog`` with
the standard python syntax to use dictionaries to format strings, that is, the standard python syntax to use dictionaries to format strings, that is,
``%(default)s`` and ``%(prog)s``. ``%(default)s`` and ``%(prog)s``.
* Replace the OptionParser constructor ``version`` argument with a call to
``parser.add_argument('--version', action='version', version='<the version>')``
...@@ -5,6 +5,12 @@ ...@@ -5,6 +5,12 @@
:synopsis: Portable parser for command line options; support both short and :synopsis: Portable parser for command line options; support both short and
long option names. long option names.
.. note::
The :mod:`getopt` module is a parser for command line options whose API is
designed to be familiar to users of the C :cfunc:`getopt` function. Users who
are unfamiliar with the C :cfunc:`getopt` function or who would like to write
less code and get better help and error messages should consider using the
:mod:`argparse` module instead.
This module helps scripts to parse the command line arguments in ``sys.argv``. This module helps scripts to parse the command line arguments in ``sys.argv``.
It supports the same conventions as the Unix :cfunc:`getopt` function (including It supports the same conventions as the Unix :cfunc:`getopt` function (including
...@@ -136,9 +142,21 @@ In a script, typical usage is something like this:: ...@@ -136,9 +142,21 @@ In a script, typical usage is something like this::
if __name__ == "__main__": if __name__ == "__main__":
main() main()
Note that an equivalent command line interface could be produced with less code
and more informative help and error messages by using the :mod:`argparse` module::
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-o', '--output')
parser.add_argument('-v', dest='verbose', action='store_true')
args = parser.parse_args()
# ... do something with args.output ...
# ... do something with args.verbose ..
.. seealso:: .. seealso::
Module :mod:`optparse` Module :mod:`argparse`
More object-oriented command line option parsing. Alternative command line option and argument parsing library.
...@@ -3,6 +3,12 @@ ...@@ -3,6 +3,12 @@
.. module:: optparse .. module:: optparse
:synopsis: Command-line option parsing library. :synopsis: Command-line option parsing library.
:deprecated:
.. deprecated:: 2.7
The :mod:`optparse` module is deprecated and will not be developed further;
development will continue with the :mod:`argparse` module.
.. moduleauthor:: Greg Ward <gward@python.net> .. moduleauthor:: Greg Ward <gward@python.net>
.. sectionauthor:: Greg Ward <gward@python.net> .. sectionauthor:: Greg Ward <gward@python.net>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment