| \section{\module{pydoc} --- | 
 |          Documentation generator and online help system} | 
 |  | 
 | \declaremodule{standard}{pydoc} | 
 | \modulesynopsis{Documentation generator and online help system.} | 
 | \moduleauthor{Ka-Ping Yee}{ping@lfw.org} | 
 | \sectionauthor{Ka-Ping Yee}{ping@lfw.org} | 
 |  | 
 | \versionadded{2.1} | 
 | \index{documentation!generation} | 
 | \index{documentation!online} | 
 | \index{help!online} | 
 |  | 
 | The \module{pydoc} module automatically generates documentation from | 
 | Python modules.  The documentation can be presented as pages of text | 
 | on the console, served to a Web browser, or saved to HTML files. | 
 |  | 
 | The built-in function \function{help()} invokes the online help system | 
 | in the interactive interpreter, which uses \module{pydoc} to generate | 
 | its documentation as text on the console.  The same text documentation | 
 | can also be viewed from outside the Python interpreter by running | 
 | \program{pydoc} as a script at the operating system's command prompt. | 
 | For example, running | 
 |  | 
 | \begin{verbatim} | 
 | pydoc sys | 
 | \end{verbatim} | 
 |  | 
 | at a shell prompt will display documentation on the \refmodule{sys} | 
 | module, in a style similar to the manual pages shown by the \UNIX{} | 
 | \program{man} command.  The argument to \program{pydoc} can be the name | 
 | of a function, module, or package, or a dotted reference to a class, | 
 | method, or function within a module or module in a package.  If the | 
 | argument to \program{pydoc} looks like a path (that is, it contains the | 
 | path separator for your operating system, such as a slash in \UNIX), | 
 | and refers to an existing Python source file, then documentation is | 
 | produced for that file. | 
 |  | 
 | Specifying a \programopt{-w} flag before the argument will cause HTML | 
 | documentation to be written out to a file in the current directory, | 
 | instead of displaying text on the console. | 
 |  | 
 | Specifying a \programopt{-k} flag before the argument will search the | 
 | synopsis lines of all available modules for the keyword given as the | 
 | argument, again in a manner similar to the \UNIX{} \program{man} | 
 | command.  The synopsis line of a module is the first line of its | 
 | documentation string. | 
 |  | 
 | You can also use \program{pydoc} to start an HTTP server on the local | 
 | machine that will serve documentation to visiting Web browsers. | 
 | \program{pydoc} \programopt{-p 1234} will start a HTTP server on port | 
 | 1234, allowing you to browse the documentation at | 
 | \code{http://localhost:1234/} in your preferred Web browser. | 
 | \program{pydoc} \programopt{-g} will start the server and additionally | 
 | bring up a small \refmodule{Tkinter}-based graphical interface to help | 
 | you search for documentation pages. | 
 |  | 
 | When \program{pydoc} generates documentation, it uses the current | 
 | environment and path to locate modules.  Thus, invoking | 
 | \program{pydoc} \programopt{spam} documents precisely the version of | 
 | the module you would get if you started the Python interpreter and | 
 | typed \samp{import spam}. |