summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Bethard <steven.bethard@gmail.com>2010-05-24 02:38:00 (GMT)
committerSteven Bethard <steven.bethard@gmail.com>2010-05-24 02:38:00 (GMT)
commit74bd9cf7d02b80f479028b24b16e25fabe9263be (patch)
tree27041bd4ea10d4b4b91f97265a7bb967e9acb337
parent151973e1c89f0d17864062064d410c4bf75d1fa6 (diff)
downloadcpython-74bd9cf7d02b80f479028b24b16e25fabe9263be.zip
cpython-74bd9cf7d02b80f479028b24b16e25fabe9263be.tar.gz
cpython-74bd9cf7d02b80f479028b24b16e25fabe9263be.tar.bz2
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.rst7
3 files changed, 31 insertions, 5 deletions
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index 4f154c4..7a56554 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 91bf343..3114a82 100644
--- a/Doc/library/getopt.rst
+++ b/Doc/library/getopt.rst
@@ -6,6 +6,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
@@ -142,9 +148,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 50c62aa..9d5b9ff 100644
--- a/Doc/library/optparse.rst
+++ b/Doc/library/optparse.rst
@@ -3,8 +3,13 @@
.. module:: optparse
:synopsis: Command-line option parsing library.
-.. moduleauthor:: Greg Ward <gward@python.net>
+ :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>
.. versionadded:: 2.3