summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Bethard <steven.bethard@gmail.com>2010-05-24 03:21:08 (GMT)
committerSteven Bethard <steven.bethard@gmail.com>2010-05-24 03:21:08 (GMT)
commit5971096472441fffb05aa71900baafe1ecf599ea (patch)
treedc4195a17ad1b4006d5fb4263140094aad127884
parentdc787d2055a7b562b64ca91b8f1af6d49fa39f1c (diff)
downloadcpython-5971096472441fffb05aa71900baafe1ecf599ea.zip
cpython-5971096472441fffb05aa71900baafe1ecf599ea.tar.gz
cpython-5971096472441fffb05aa71900baafe1ecf599ea.tar.bz2
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) ........
-rw-r--r--Doc/library/argparse.rst7
-rw-r--r--Doc/library/getopt.rst22
-rw-r--r--Doc/library/optparse.rst6
3 files changed, 31 insertions, 4 deletions
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index 89ab63a..19c5c81 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -672,8 +672,8 @@ command-line args should be handled. The supported actions are:
>>> import argparse
>>> parser = argparse.ArgumentParser(prog='PROG')
- >>> parser.add_argument('-v', '--version', action='version', version='%(prog)s 2.0')
- >>> parser.parse_args(['-v'])
+ >>> parser.add_argument('--version', action='version', version='%(prog)s 2.0')
+ >>> parser.parse_args(['--version'])
PROG 2.0
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:
* Replace strings with implicit arguments such as ``%default`` or ``%prog`` with
the standard python syntax to use dictionaries to format strings, that is,
``%(default)s`` and ``%(prog)s``.
+
+* Replace the OptionParser constructor ``version`` argument with a call to
+ ``parser.add_argument('--version', action='version', version='<the version>')``
diff --git a/Doc/library/getopt.rst b/Doc/library/getopt.rst
index 67cbe25..f969d7e 100644
--- a/Doc/library/getopt.rst
+++ b/Doc/library/getopt.rst
@@ -5,6 +5,12 @@
:synopsis: Portable parser for command line options; support both short and
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``.
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::
if __name__ == "__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::
- Module :mod:`optparse`
- More object-oriented command line option parsing.
+ Module :mod:`argparse`
+ Alternative command line option and argument parsing library.
diff --git a/Doc/library/optparse.rst b/Doc/library/optparse.rst
index 90c28a0..37eab37 100644
--- a/Doc/library/optparse.rst
+++ b/Doc/library/optparse.rst
@@ -3,6 +3,12 @@
.. module:: optparse
: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>
.. sectionauthor:: Greg Ward <gward@python.net>