diff options
author | Steven Bethard <steven.bethard@gmail.com> | 2010-05-24 03:21:08 (GMT) |
---|---|---|
committer | Steven Bethard <steven.bethard@gmail.com> | 2010-05-24 03:21:08 (GMT) |
commit | 5971096472441fffb05aa71900baafe1ecf599ea (patch) | |
tree | dc4195a17ad1b4006d5fb4263140094aad127884 | |
parent | dc787d2055a7b562b64ca91b8f1af6d49fa39f1c (diff) | |
download | cpython-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.rst | 7 | ||||
-rw-r--r-- | Doc/library/getopt.rst | 22 | ||||
-rw-r--r-- | Doc/library/optparse.rst | 6 |
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> |