blob: 491d2b47ab837859c5262e28cbd3fc7a85b0a08d [file] [log] [blame]
Fred Drake6659c301998-03-03 22:02:19 +00001\documentclass{manual}
Guido van Rossum19f1b821991-11-12 15:41:57 +00002
Guido van Rossum86751151995-02-28 17:14:32 +00003% NOTE: this file controls which chapters/sections of the library
4% manual are actually printed. It is easy to customize your manual
5% by commenting out sections that you're not interested in.
6
Guido van Rossum6938f061994-08-01 12:22:53 +00007\title{Python Library Reference}
Guido van Rossum515834a1991-01-22 11:45:29 +00008
Guido van Rossum16cd7f91994-10-06 10:29:26 +00009\input{boilerplate}
Guido van Rossum83eb9621993-11-23 16:28:45 +000010
Fred Drake7c30de62001-02-22 21:25:20 +000011\makeindex % tell \index to actually write the
12 % .idx file
13\makemodindex % ... and the module index as well.
Guido van Rossum6938f061994-08-01 12:22:53 +000014
Guido van Rossum1230c081992-01-07 16:40:44 +000015
Guido van Rossum515834a1991-01-22 11:45:29 +000016\begin{document}
Guido van Rossum6938f061994-08-01 12:22:53 +000017
Guido van Rossum515834a1991-01-22 11:45:29 +000018\maketitle
19
Fred Drake9f86b661998-07-28 21:55:19 +000020\ifhtml
21\chapter*{Front Matter\label{front}}
22\fi
23
Guido van Rossum16cd7f91994-10-06 10:29:26 +000024\input{copyright}
25
Guido van Rossum515834a1991-01-22 11:45:29 +000026\begin{abstract}
27
28\noindent
Guido van Rossum2ddd9781995-03-30 16:01:33 +000029Python is an extensible, interpreted, object-oriented programming
30language. It supports a wide range of applications, from simple text
31processing scripts to interactive WWW browsers.
32
Fred Drake37f15741999-11-10 16:21:37 +000033While the \citetitle[../ref/ref.html]{Python Reference Manual}
34describes the exact syntax and semantics of the language, it does not
35describe the standard library that is distributed with the language,
36and which greatly enhances its immediate usability. This library
37contains built-in modules (written in C) that provide access to system
38functionality such as file I/O that would otherwise be inaccessible to
39Python programmers, as well as modules written in Python that provide
40standardized solutions for many problems that occur in everyday
41programming. Some of these modules are explicitly designed to
42encourage and enhance the portability of Python programs.
Guido van Rossum2ddd9781995-03-30 16:01:33 +000043
44This library reference manual documents Python's standard library, as
45well as many optional library modules (which may or may not be
46available, depending on whether the underlying platform supports them
47and on the configuration choices made at compile time). It also
48documents the standard types of the language and its built-in
49functions and exceptions, many of which are not or incompletely
50documented in the Reference Manual.
51
52This manual assumes basic knowledge about the Python language. For an
Fred Drake37f15741999-11-10 16:21:37 +000053informal introduction to Python, see the
54\citetitle[../tut/tut.html]{Python Tutorial}; the
55\citetitle[../ref/ref.html]{Python Reference Manual} remains the
56highest authority on syntactic and semantic questions. Finally, the
57manual entitled \citetitle[../ext/ext.html]{Extending and Embedding
58the Python Interpreter} describes how to add new extensions to Python
59and how to embed it in other applications.
Guido van Rossum515834a1991-01-22 11:45:29 +000060
61\end{abstract}
62
Fred Drake4d4f9e71998-01-13 22:25:02 +000063\tableofcontents
Guido van Rossum515834a1991-01-22 11:45:29 +000064
Fred Drake7c30de62001-02-22 21:25:20 +000065 % Chapter title:
Guido van Rossum6938f061994-08-01 12:22:53 +000066
Fred Drake7c30de62001-02-22 21:25:20 +000067\input{libintro} % Introduction
Guido van Rossum6938f061994-08-01 12:22:53 +000068
Fred Drake7c30de62001-02-22 21:25:20 +000069\input{libobjs} % Built-in Types, Exceptions and Functions
Fred Drake64e3b431998-07-24 13:56:11 +000070\input{libstdtypes}
Guido van Rossum6938f061994-08-01 12:22:53 +000071\input{libexcs}
72\input{libfuncs}
73
Fred Drake7c30de62001-02-22 21:25:20 +000074\input{libpython} % Python Runtime Services
Guido van Rossum6938f061994-08-01 12:22:53 +000075\input{libsys}
Fred Drakebdcf91f2000-07-12 04:22:53 +000076\input{libgc}
Fred Drake36154b22001-02-01 05:21:46 +000077\input{libweakref}
Fred Drake37f1b342001-01-09 20:52:49 +000078\input{libfpectl}
Fred Drakec19425d2000-06-28 15:07:31 +000079\input{libatexit}
Fred Drake64e3b431998-07-24 13:56:11 +000080\input{libtypes}
Guido van Rossum36764b81997-08-30 20:02:25 +000081\input{libuserdict}
Guido van Rossum61ed4db1996-12-06 21:22:41 +000082\input{liboperator}
Fred Drake7840a9c2001-02-28 23:02:20 +000083\input{libinspect}
Guido van Rossumecde7811995-03-28 13:35:14 +000084\input{libtraceback}
Fred Drakec46864e1999-06-14 19:49:50 +000085\input{liblinecache}
Guido van Rossumd1883581995-02-15 15:53:08 +000086\input{libpickle}
Fred Drake7c30de62001-02-22 21:25:20 +000087\input{libcopyreg} % really copy_reg
Guido van Rossumd1883581995-02-15 15:53:08 +000088\input{libshelve}
89\input{libcopy}
Guido van Rossumecde7811995-03-28 13:35:14 +000090\input{libmarshal}
Guido van Rossum5db5ba12000-12-19 06:01:23 +000091\input{libwarnings}
Guido van Rossumecde7811995-03-28 13:35:14 +000092\input{libimp}
Guido van Rossum61c27031997-07-18 21:08:07 +000093\input{libcode}
Fred Drakeaf81a501999-06-23 13:34:22 +000094\input{libcodeop}
Fred Drake00eb96a1997-10-06 21:26:03 +000095\input{libpprint}
Fred Drake9d814c61999-01-27 17:20:33 +000096\input{librepr}
Fred Drake26da2841999-06-17 15:12:16 +000097\input{libnew}
Guido van Rossum571391b1997-04-03 22:41:49 +000098\input{libsite}
Guido van Rossum36764b81997-08-30 20:02:25 +000099\input{libuser}
Fred Drake7c30de62001-02-22 21:25:20 +0000100\input{libbltin} % really __builtin__
101\input{libmain} % really __main__
Guido van Rossumecde7811995-03-28 13:35:14 +0000102
Fred Drake7c30de62001-02-22 21:25:20 +0000103\input{libstrings} % String Services
Guido van Rossumecde7811995-03-28 13:35:14 +0000104\input{libstring}
Guido van Rossum9cb64801997-12-29 20:01:55 +0000105\input{libre}
Guido van Rossumecde7811995-03-28 13:35:14 +0000106\input{libstruct}
Fred Drake15bc4042001-02-19 16:32:40 +0000107\input{libdifflib}
Fred Drake7df4dd71999-06-11 18:36:42 +0000108\input{libfpformat}
Fred Drake64e3b431998-07-24 13:56:11 +0000109\input{libstringio}
Fred Drake98f8a3d2000-04-06 14:25:28 +0000110\input{libcodecs}
Fred Drakefb79ffa2000-06-13 20:51:29 +0000111\input{libunicodedata}
Guido van Rossumecde7811995-03-28 13:35:14 +0000112
Fred Drake7c30de62001-02-22 21:25:20 +0000113\input{libmisc} % Miscellaneous Services
Fred Drakef3262b72001-02-17 17:33:25 +0000114\input{libdoctest}
Guido van Rossumecde7811995-03-28 13:35:14 +0000115\input{libmath}
Guido van Rossum84057a31997-07-17 16:15:18 +0000116\input{libcmath}
Guido van Rossum571391b1997-04-03 22:41:49 +0000117\input{librandom}
Fred Drakef8914042001-02-03 01:17:41 +0000118\input{libwhrandom}
Fred Drake188a8471998-04-28 18:27:53 +0000119\input{libbisect}
Guido van Rossumecde7811995-03-28 13:35:14 +0000120\input{libarray}
Fred Drakebc866ce1999-01-26 15:47:59 +0000121\input{libcfgparser}
Fred Drake4bde97f1998-04-04 05:50:12 +0000122\input{libfileinput}
Fred Drake3c48ef72001-01-09 22:47:46 +0000123\input{libxreadlines}
Fred Drakef8d50bf1998-04-28 14:29:27 +0000124\input{libcalendar}
Guido van Rossum8668e8e1998-06-28 17:55:53 +0000125\input{libcmd}
Guido van Rossum5e97c9d1998-12-22 05:18:24 +0000126\input{libshlex}
Guido van Rossumecde7811995-03-28 13:35:14 +0000127
Fred Drake7c30de62001-02-22 21:25:20 +0000128\input{liballos} % Generic Operating System Services
Guido van Rossumecde7811995-03-28 13:35:14 +0000129\input{libos}
Fred Drake7c30de62001-02-22 21:25:20 +0000130\input{libposixpath} % os.path
Fred Drake26da2841999-06-17 15:12:16 +0000131\input{libdircache}
Fred Drake5254a6d1999-04-22 15:01:44 +0000132\input{libstat}
Fred Drake26da2841999-06-17 15:12:16 +0000133\input{libstatcache}
Fred Drake4755e7d1999-06-21 18:25:49 +0000134\input{libstatvfs}
Fred Drakeadf2dbf1999-10-29 17:24:12 +0000135\input{libfilecmp}
Fred Drakefcab7632000-08-31 06:09:26 +0000136\input{libpopen2}
Guido van Rossumecde7811995-03-28 13:35:14 +0000137\input{libtime}
Fred Drakec4e3bf91999-06-25 18:54:30 +0000138\input{libsched}
Fred Drake37f1b342001-01-09 20:52:49 +0000139\input{libmutex}
Fred Drake99e2c391998-12-22 23:37:46 +0000140\input{libgetpass}
Fred Drake2cd31dc1999-06-21 21:14:30 +0000141\input{libcurses}
Fred Drake7c30de62001-02-22 21:25:20 +0000142\input{libascii} % curses.ascii
Guido van Rossumecde7811995-03-28 13:35:14 +0000143\input{libgetopt}
Guido van Rossumdc46c7f1995-03-01 15:38:16 +0000144\input{libtempfile}
Guido van Rossumc0fcc441996-07-30 18:20:01 +0000145\input{liberrno}
Guido van Rossumb6a80261997-03-25 22:09:18 +0000146\input{libglob}
Guido van Rossume76b7a81997-04-27 21:25:52 +0000147\input{libfnmatch}
Fred Drake449e18f1998-12-28 20:16:58 +0000148\input{libshutil}
Guido van Rossumbc12f781997-11-20 21:04:27 +0000149\input{liblocale}
Barry Warsaw058365a2000-08-30 03:26:17 +0000150\input{libgettext}
Guido van Rossumecde7811995-03-28 13:35:14 +0000151
Fred Drake7c30de62001-02-22 21:25:20 +0000152\input{libsomeos} % Optional Operating System Services
Guido van Rossumecde7811995-03-28 13:35:14 +0000153\input{libsignal}
154\input{libsocket}
155\input{libselect}
156\input{libthread}
Guido van Rossumd623d20e7d61998-07-20 17:34:50 +0000157\input{libthreading}
Barry Warsaw17c8e781997-11-20 19:54:16 +0000158\input{libqueue}
Fred Drake0d83f682000-09-05 13:49:30 +0000159\input{libmmap}
Guido van Rossum571391b1997-04-03 22:41:49 +0000160\input{libanydbm}
Fred Drake666255f1999-04-15 15:11:40 +0000161\input{libdbhash}
Guido van Rossum571391b1997-04-03 22:41:49 +0000162\input{libwhichdb}
Fred Drake4ae52691999-04-19 21:21:28 +0000163\input{libbsddb}
Guido van Rossumdfb41201997-04-30 19:40:10 +0000164\input{libzlib}
Guido van Rossum0fcbe8d1997-07-17 16:27:42 +0000165\input{libgzip}
Fred Drake3c9f9362000-03-31 17:51:10 +0000166\input{libzipfile}
Fred Drake14ea85f2000-07-06 04:47:25 +0000167\input{libreadline}
Fred Drake4755e7d1999-06-21 18:25:49 +0000168\input{librlcompleter}
Guido van Rossumecde7811995-03-28 13:35:14 +0000169
Fred Drake7c30de62001-02-22 21:25:20 +0000170\input{libunix} % UNIX Specific Services
Guido van Rossumecde7811995-03-28 13:35:14 +0000171\input{libposix}
Guido van Rossumecde7811995-03-28 13:35:14 +0000172\input{libpwd}
173\input{libgrp}
Guido van Rossum5c6e3731996-04-10 16:18:20 +0000174\input{libcrypt}
Fred Drake44a7a7c1999-07-01 20:39:59 +0000175\input{libdl}
Guido van Rossumecde7811995-03-28 13:35:14 +0000176\input{libdbm}
177\input{libgdbm}
178\input{libtermios}
Fred Drake1b2dc901999-06-23 17:29:02 +0000179\input{libtty}
Fred Drakeabc64b71999-06-29 18:12:22 +0000180\input{libpty}
Guido van Rossumecde7811995-03-28 13:35:14 +0000181\input{libfcntl}
Fred Drake4755e7d1999-06-21 18:25:49 +0000182\input{libpipes}
Guido van Rossumecde7811995-03-28 13:35:14 +0000183\input{libposixfile}
Guido van Rossum3c7b2dc1996-12-18 18:37:05 +0000184\input{libresource}
Fred Drakee4d78181999-06-27 15:02:37 +0000185\input{libnis}
Guido van Rossumfbe34fa1995-10-09 20:49:57 +0000186\input{libsyslog}
Fred Drake4fd12921997-06-12 16:05:46 +0000187\input{libcommands}
Guido van Rossumdf804f81995-03-02 12:38:39 +0000188
Fred Drake7c30de62001-02-22 21:25:20 +0000189\input{libpdb} % The Python Debugger
Guido van Rossumdf804f81995-03-02 12:38:39 +0000190
Fred Drake7c30de62001-02-22 21:25:20 +0000191\input{libprofile} % The Python Profiler
Guido van Rossum6938f061994-08-01 12:22:53 +0000192
Fred Drake7c30de62001-02-22 21:25:20 +0000193\input{internet} % Internet Protocols
Fred Drakee4dbb862000-07-07 03:36:12 +0000194\input{libwebbrowser}
Guido van Rossuma12ef941995-02-27 17:53:25 +0000195\input{libcgi}
Guido van Rossumcca8d2b1995-03-22 15:48:46 +0000196\input{liburllib}
Fred Drake7606e4d2001-03-01 19:54:29 +0000197\input{liburllib2}
Guido van Rossumcca8d2b1995-03-22 15:48:46 +0000198\input{libhttplib}
Guido van Rossum817a8421995-02-16 16:28:22 +0000199\input{libftplib}
200\input{libgopherlib}
Fred Drakea4684041998-04-24 20:49:02 +0000201\input{libpoplib}
Fred Drake1e0f8bf1998-04-11 04:27:07 +0000202\input{libimaplib}
Guido van Rossum817a8421995-02-16 16:28:22 +0000203\input{libnntplib}
Guido van Rossum8668e8e1998-06-28 17:55:53 +0000204\input{libsmtplib}
Fred Drake658cef01999-03-15 15:44:18 +0000205\input{libtelnetlib}
Guido van Rossum817a8421995-02-16 16:28:22 +0000206\input{liburlparse}
Fred Drakef44c4851998-08-07 15:58:31 +0000207\input{libsocksvr}
208\input{libbasehttp}
Fred Drakec46864e1999-06-14 19:49:50 +0000209\input{libsimplehttp}
210\input{libcgihttp}
Fred Drake15446d32000-08-19 16:55:31 +0000211\input{libcookie}
Fred Drake04520071999-07-02 14:27:03 +0000212\input{libasyncore}
Fred Drakef44c4851998-08-07 15:58:31 +0000213
Fred Drake7c30de62001-02-22 21:25:20 +0000214\input{netdata} % Internet Data Handling
Fred Drake53e84d51996-10-08 21:54:41 +0000215\input{libformatter}
Guido van Rossumcca8d2b1995-03-22 15:48:46 +0000216\input{librfc822}
217\input{libmimetools}
Fred Drake28bc7111999-02-12 19:26:09 +0000218\input{libmimewriter}
Guido van Rossum8668e8e1998-06-28 17:55:53 +0000219\input{libmultifile}
Fred Drake1aabe5e1998-02-19 18:29:18 +0000220\input{libbinhex}
221\input{libuu}
Jack Jansen4549b131995-08-29 11:30:24 +0000222\input{libbinascii}
Guido van Rossum40006cf1996-08-19 22:58:03 +0000223\input{libxdrlib}
Guido van Rossumb6a80261997-03-25 22:09:18 +0000224\input{libmailcap}
Fred Drakeb818b461998-05-19 15:03:45 +0000225\input{libmimetypes}
Guido van Rossume76b7a81997-04-27 21:25:52 +0000226\input{libbase64}
227\input{libquopri}
Guido van Rossume5bb7901997-06-02 17:35:51 +0000228\input{libmailbox}
Fred Drake658cef01999-03-15 15:44:18 +0000229\input{libmhlib}
Guido van Rossumfd16ca41997-07-30 22:05:07 +0000230\input{libmimify}
Guido van Rossum5e97c9d1998-12-22 05:18:24 +0000231\input{libnetrc}
Fred Drake3c9f9362000-03-31 17:51:10 +0000232\input{librobotparser}
Guido van Rossum817a8421995-02-16 16:28:22 +0000233
Fred Drakeb5316182000-07-05 02:24:39 +0000234\input{markup} % Structured Markup Processing Tools
235\input{libsgmllib}
236\input{libhtmllib}
Fred Drakeb5316182000-07-05 02:24:39 +0000237\input{libpyexpat}
Fred Drake277a2112000-10-24 02:35:42 +0000238\input{xmldom}
Fred Drakef65ab1b2000-11-29 06:11:29 +0000239\input{xmldomminidom}
Fred Drake24d6da32000-12-13 19:34:38 +0000240\input{xmldompulldom}
Fred Drakef5aa4ef2000-09-20 02:54:58 +0000241\input{xmlsax}
Fred Drakebabe3262000-10-12 20:07:09 +0000242\input{xmlsaxhandler}
243\input{xmlsaxutils}
244\input{xmlsaxreader}
Fred Drake955e03b2000-10-09 18:11:24 +0000245\input{libxmllib}
Fred Drakeb5316182000-07-05 02:24:39 +0000246
Fred Drake7c30de62001-02-22 21:25:20 +0000247\input{libmm} % Multimedia Services
Guido van Rossum6938f061994-08-01 12:22:53 +0000248\input{libaudioop}
249\input{libimageop}
Guido van Rossumecde7811995-03-28 13:35:14 +0000250\input{libaifc}
Fred Drakeaf81a501999-06-23 13:34:22 +0000251\input{libsunau}
Fred Drake26da2841999-06-17 15:12:16 +0000252\input{libwave}
Fred Drake707f8e61999-06-22 18:50:06 +0000253\input{libchunk}
Fred Drake4ae52691999-04-19 21:21:28 +0000254\input{libcolorsys}
Guido van Rossum6938f061994-08-01 12:22:53 +0000255\input{librgbimg}
Guido van Rossum40006cf1996-08-19 22:58:03 +0000256\input{libimghdr}
Fred Drake60adb361999-01-05 23:09:12 +0000257\input{libsndhdr}
Guido van Rossum6938f061994-08-01 12:22:53 +0000258
Fred Drake7c30de62001-02-22 21:25:20 +0000259\input{libcrypto} % Cryptographic Services
Guido van Rossum6938f061994-08-01 12:22:53 +0000260\input{libmd5}
Fred Drake957ac3f1999-04-23 21:52:18 +0000261\input{libsha}
Guido van Rossum6938f061994-08-01 12:22:53 +0000262\input{libmpz}
263\input{librotor}
264
Fred Drakeed13b4a2000-08-03 21:18:18 +0000265\input{librestricted} % Restricted Execution
266\input{librexec}
267\input{libbastion}
268
Fred Drake7c30de62001-02-22 21:25:20 +0000269\input{language} % Python Language Services
Fred Drakeed13b4a2000-08-03 21:18:18 +0000270\input{libparser}
271\input{libsymbol}
272\input{libtoken}
273\input{libkeyword}
274\input{libtokenize}
275\input{libtabnanny}
276\input{libpyclbr}
Fred Drake7c30de62001-02-22 21:25:20 +0000277\input{libpycompile} % really py_compile
Fred Drakeed13b4a2000-08-03 21:18:18 +0000278\input{libcompileall}
279\input{libdis}
280
Fred Drake7c30de62001-02-22 21:25:20 +0000281%\input{libamoeba} % AMOEBA ONLY
Guido van Rossum6938f061994-08-01 12:22:53 +0000282
Fred Drake7c30de62001-02-22 21:25:20 +0000283%\input{libstdwin} % STDWIN ONLY
Guido van Rossum6938f061994-08-01 12:22:53 +0000284
Fred Drake7c30de62001-02-22 21:25:20 +0000285\input{libsgi} % SGI IRIX ONLY
Guido van Rossum6938f061994-08-01 12:22:53 +0000286\input{libal}
Sjoerd Mullenderffd6de11995-03-28 11:56:52 +0000287\input{libcd}
Guido van Rossum6938f061994-08-01 12:22:53 +0000288\input{libfl}
289\input{libfm}
290\input{libgl}
291\input{libimgfile}
Fred Drake9ea3e361999-01-20 15:55:20 +0000292\input{libjpeg}
Guido van Rossum6938f061994-08-01 12:22:53 +0000293%\input{libpanel}
294
Fred Drake7c30de62001-02-22 21:25:20 +0000295\input{libsun} % SUNOS ONLY
Fred Drake83c1a391998-02-19 18:59:48 +0000296\input{libsunaudio}
Guido van Rossum6938f061994-08-01 12:22:53 +0000297
Fred Drake7c30de62001-02-22 21:25:20 +0000298\input{windows} % MS Windows ONLY
Fred Drakec7b72db1999-02-16 19:18:38 +0000299\input{libmsvcrt}
Fred Draked1a65ff2000-06-07 04:07:48 +0000300\input{libwinreg}
Fred Drakec7b72db1999-02-16 19:18:38 +0000301\input{libwinsound}
302
Fred Drakeed773ef2000-09-21 21:35:22 +0000303\appendix
Guido van Rossum612316f1997-03-14 04:12:52 +0000304\input{libundoc}
Fred Drake36154b22001-02-01 05:21:46 +0000305
306%\chapter{Obsolete Modules}
307%\input{libcmpcache}
308%\input{libcmp}
309%\input{libni}
310%\input{librand}
311%\input{libregex}
312%\input{libregsub}
Fred Drake36154b22001-02-01 05:21:46 +0000313
Fred Drakeed773ef2000-09-21 21:35:22 +0000314\chapter{Reporting Bugs}
315\input{reportingbugs}
Guido van Rossum612316f1997-03-14 04:12:52 +0000316
Fred Drakef3aa0e01998-03-17 06:23:13 +0000317%
318% The ugly "%begin{latexonly}" pseudo-environments are really just to
319% keep LaTeX2HTML quiet during the \renewcommand{} macros; they're
320% not really valuable.
321%
Fred Drake0b1337d1998-01-02 02:59:09 +0000322
Fred Drakef3aa0e01998-03-17 06:23:13 +0000323%begin{latexonly}
324\renewcommand{\indexname}{Module Index}
325%end{latexonly}
Fred Drake7c30de62001-02-22 21:25:20 +0000326\input{modlib.ind} % Module Index
Fred Drakef3aa0e01998-03-17 06:23:13 +0000327
328%begin{latexonly}
Fred Drake0b1337d1998-01-02 02:59:09 +0000329\renewcommand{\indexname}{Index}
Fred Drakef3aa0e01998-03-17 06:23:13 +0000330%end{latexonly}
Fred Drake7c30de62001-02-22 21:25:20 +0000331\input{lib.ind} % Index
Guido van Rossum515834a1991-01-22 11:45:29 +0000332
333\end{document}