[Python-checkins] CVS: python/dist/src/Doc/lib libgetopt.tex,1.13,1.14

Fred L. Drake python-dev@python.org
Fri, 11 Aug 2000 12:55:09 -0700


Update of /cvsroot/python/python/dist/src/Doc/lib
In directory slayer.i.sourceforge.net:/tmp/cvs-serv7295/lib

Modified Files:
	libgetopt.tex 
Log Message:

getopt(): revise description of long_options parameter slightly so it will
	be less confusing; add a paragraph separation so that comments about
	the options and long_options parameters don't have references that
	are easily misinterpreted.

Adjust the interactive examples to not need the string module.

Add an example showing how the module is commonly used in a script.


Index: libgetopt.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libgetopt.tex,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** libgetopt.tex	2000/04/03 20:13:53	1.13
--- libgetopt.tex	2000/08/11 19:55:06	1.14
***************
*** 22,44 ****
  \var{options} is the string of option letters that the script wants to
  recognize, with options that require an argument followed by a colon
! (i.e., the same format that \UNIX{} \cfunction{getopt()} uses).  If
! specified, \var{long_options} is a list of strings with the names of
! the long options which should be supported.  The leading
  \code{'-}\code{-'} characters should not be included in the option
! name.  Options which require an argument should be followed by an
! equal sign (\code{'='}).
  
  The return value consists of two elements: the first is a list of
  \code{(\var{option}, \var{value})} pairs; the second is the list of
  program arguments left after the option list was stripped (this is a
! trailing slice of the first argument).
! Each option-and-value pair returned has the option as its first
! element, prefixed with a hyphen for short options (e.g., \code{'-x'})
! or two hyphens for long options (e.g., \code{'-}\code{-long-option'}),
! and the option argument as its second element, or an empty string if
! the option has no argument.
! The options occur in the list in the same order in which they were
! found, thus allowing multiple occurrences.  Long and short options may
! be mixed.
  \end{funcdesc}
  
--- 22,45 ----
  \var{options} is the string of option letters that the script wants to
  recognize, with options that require an argument followed by a colon
! (\character{:}; i.e., the same format that \UNIX{}
! \cfunction{getopt()} uses).
! 
! \var{long_options}, if specified, must be a list of strings with the
! names of the long options which should be supported.  The leading
  \code{'-}\code{-'} characters should not be included in the option
! name.  Long options which require an argument should be followed by an
! equal sign (\character{=}).
  
  The return value consists of two elements: the first is a list of
  \code{(\var{option}, \var{value})} pairs; the second is the list of
  program arguments left after the option list was stripped (this is a
! trailing slice of \var{args}).  Each option-and-value pair returned
! has the option as its first element, prefixed with a hyphen for short
! options (e.g., \code{'-x'}) or two hyphens for long options (e.g.,
! \code{'-}\code{-long-option'}), and the option argument as its second
! element, or an empty string if the option has no argument.  The
! options occur in the list in the same order in which they were found,
! thus allowing multiple occurrences.  Long and short options may be
! mixed.
  \end{funcdesc}
  
***************
*** 62,67 ****
  
  \begin{verbatim}
! >>> import getopt, string
! >>> args = string.split('-a -b -cfoo -d bar a1 a2')
  >>> args
  ['-a', '-b', '-cfoo', '-d', 'bar', 'a1', 'a2']
--- 63,68 ----
  
  \begin{verbatim}
! >>> import getopt
! >>> args = '-a -b -cfoo -d bar a1 a2'.split()
  >>> args
  ['-a', '-b', '-cfoo', '-d', 'bar', 'a1', 'a2']
***************
*** 71,75 ****
  >>> args
  ['a1', 'a2']
- >>> 
  \end{verbatim}
  
--- 72,75 ----
***************
*** 78,82 ****
  \begin{verbatim}
  >>> s = '--condition=foo --testing --output-file abc.def -x a1 a2'
! >>> args = string.split(s)
  >>> args
  ['--condition=foo', '--testing', '--output-file', 'abc.def', '-x', 'a1', 'a2']
--- 78,82 ----
  \begin{verbatim}
  >>> s = '--condition=foo --testing --output-file abc.def -x a1 a2'
! >>> args = s.split()
  >>> args
  ['--condition=foo', '--testing', '--output-file', 'abc.def', '-x', 'a1', 'a2']
***************
*** 88,91 ****
  >>> args
  ['a1', 'a2']
! >>> 
  \end{verbatim}
--- 88,115 ----
  >>> args
  ['a1', 'a2']
! \end{verbatim}
! 
! In a script, typical usage is something like this:
! 
! \begin{verbatim}
! import getopt, sys
! 
! def main():
!     try:
!         opts, args = getopt.getopt(sys.argv[1:], "ho:", ["help", "output="])
!     except getopt.GetoptError:
!         # print help information and exit:
!         usage()
!         sys.exit(2)
!     output = None
!     for o, a in opts:
!         if o in ("-h", "--help"):
!             usage()
!             sys.exit()
!         if o in ("-o", "--output"):
!             output = a
!     # ...
! 
! if __name__ == "__main__":
!     main()
  \end{verbatim}