mirror of https://github.com/python/cpython
Add section on Optik
This commit is contained in:
parent
857fb4c136
commit
24d5a5281a
|
@ -1253,9 +1253,80 @@ per-use basis.
|
||||||
|
|
||||||
|
|
||||||
%======================================================================
|
%======================================================================
|
||||||
\subsection{Optik: The \module{optparse} Module}
|
\subsection{The \module{optparse} Module}
|
||||||
|
|
||||||
XXX write this section
|
The \module{getopt} module provides simple parsing of command-line
|
||||||
|
arguments. The new \module{optparse} module (originally named Optik)
|
||||||
|
provides more elaborate command-line parsing that follows the Unix
|
||||||
|
conventions, automatically creates the output for \longprogramopt{help},
|
||||||
|
and can perform different actions
|
||||||
|
|
||||||
|
You start by creating an instance of \class{OptionParser} and telling
|
||||||
|
it what your program's options are.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
from optparse import OptionParser
|
||||||
|
|
||||||
|
op = OptionParser()
|
||||||
|
op.add_option('-i', '--input',
|
||||||
|
action='store', type='string', dest='input',
|
||||||
|
help='set input filename')
|
||||||
|
op.add_option('-l', '--length',
|
||||||
|
action='store', type='int', dest='length',
|
||||||
|
help='set maximum length of output')
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Parsing a command line is then done by calling the \method{parse_args()}
|
||||||
|
method.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
options, args = op.parse_args(sys.argv[1:])
|
||||||
|
print options
|
||||||
|
print args
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
This returns an object containing all of the option values,
|
||||||
|
and a list of strings containing the remaining arguments.
|
||||||
|
|
||||||
|
Invoking the script with the various arguments now works as you'd
|
||||||
|
expect it to. Note that the length argument is automatically
|
||||||
|
converted to an integer.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
$ ./python opt.py -i data arg1
|
||||||
|
<Values at 0x400cad4c: {'input': 'data', 'length': None}>
|
||||||
|
['arg1']
|
||||||
|
$ ./python opt.py --input=data --length=4
|
||||||
|
<Values at 0x400cad2c: {'input': 'data', 'length': 4}>
|
||||||
|
['arg1']
|
||||||
|
$
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
The help message is automatically generated for you:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
$ ./python opt.py --help
|
||||||
|
usage: opt.py [options]
|
||||||
|
|
||||||
|
options:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
-iINPUT, --input=INPUT
|
||||||
|
set input filename
|
||||||
|
-lLENGTH, --length=LENGTH
|
||||||
|
set maximum length of output
|
||||||
|
$
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Optik was written by Greg Ward, with suggestions from the readers of
|
||||||
|
the Getopt SIG.
|
||||||
|
|
||||||
|
\begin{seealso}
|
||||||
|
\seeurl{http://optik.sourceforge.net}
|
||||||
|
{The Optik site has tutorial and reference documentation for
|
||||||
|
\module{optparse}.
|
||||||
|
% XXX change to point to Python docs, when those docs get written.
|
||||||
|
}
|
||||||
|
\end{seealso}
|
||||||
|
|
||||||
|
|
||||||
%======================================================================
|
%======================================================================
|
||||||
|
|
Loading…
Reference in New Issue