La bibliothèque standard
************************

Alors que La référence du langage Python décrit exactement la syntaxe
et la sémantique du langage Python, ce manuel de référence de la
Bibliothèque décrit la bibliothèque standard distribuée avec Python.
Il décrit aussi certains composants optionnels typiquement inclus dans
les distributions de Python.

La bibliothèque standard de Python est très grande, elle offre un
large éventail d’outils comme le montre la longueur de la table des
matières ci-dessous. La bibliothèque contient des modules natifs
(écrits en C) exposant les fonctionnalités du système telles que les
interactions avec les fichiers qui autrement ne seraient pas
accessibles aux développeurs Python, ainsi que des modules écrits en
Python exposant des solutions standardisées à de nombreux problèmes du
quotidien du développeur. Certains de ces modules sont définis
explicitement pour encourager et améliorer la portabilité des
programmes Python en abstrayant des spécificités sous-jacentes en API
neutres.

Les installateurs de Python pour Windows incluent généralement la
bibliothèque standard en entier, et y ajoutent souvent d’autres
composants. Pour les systèmes d’exploitation Unix, Python est
typiquement fourni sous forme d’une collection de paquets, il peut
donc être nécessaire d’utiliser le gestionnaire de paquets fourni par
le système d’exploitation pour obtenir certains composants optionnels.

In addition to the standard library, there is a growing collection of
several thousand components (from individual programs and modules to
packages and entire application development frameworks), available
from the Python Package Index.

* 1. Introduction

* 2. Fonctions natives

* 3. Non-essential Built-in Functions

* 4. Constantes natives

  * 4.1. Constantes ajoutées par le module "site"

* 5. Types natifs

  * 5.1. Valeurs booléennes

  * 5.2. Opérations booléennes — "and", "or", "not"

  * 5.3. Comparaisons

  * 5.4. Numeric Types — "int", "float", "long", "complex"

  * 5.5. Les types itérateurs

  * 5.6. Sequence Types — "str", "unicode", "list", "tuple",
    "bytearray", "buffer", "xrange"

  * 5.7. Types d’ensembles — "set", "frozenset"

  * 5.8. Les types de correspondances — "dict"

  * 5.9. Objets fichiers

  * 5.10. memoryview type

  * 5.11. Le type gestionnaire de contexte

  * 5.12. Autres types natifs

  * 5.13. Attributs Spéciaux

* 6. Exceptions natives

  * 6.1. Hiérarchie des exceptions

* 7. String Services

  * 7.1. "string" — Opérations usuelles sur des chaînes

  * 7.2. "re" — Opérations à base d’expressions rationnelles

  * 7.3. "struct" — Interpret strings as packed binary data

  * 7.4. "difflib" — Helpers for computing deltas

  * 7.5. "StringIO" — Read and write strings as files

  * 7.6. "cStringIO" — Faster version of "StringIO"

  * 7.7. "textwrap" — Encapsulation et remplissage de texte

  * 7.8. "codecs" — Codec registry and base classes

  * 7.9. "unicodedata" — Base de données Unicode

  * 7.10. "stringprep" — Préparation des chaines de caractères
    internet

  * 7.11. "fpformat" — Floating point conversions

* 8. Types de données

  * 8.1. "datetime" — Types de base pour la date et l’heure

  * 8.2. "calendar" — General calendar-related functions

  * 8.3. "collections" — High-performance container datatypes

  * 8.4. "heapq" — Heap queue algorithm

  * 8.5. "bisect" — Algorithme de bissection de listes

  * 8.6. "array" — Tableaux efficaces de valeurs numériques

  * 8.7. "sets" — Unordered collections of unique elements

  * 8.8. "sched" — Event scheduler

  * 8.9. "mutex" — Mutual exclusion support

  * 8.10. "Queue" — A synchronized queue class

  * 8.11. "weakref" — Weak references

  * 8.12. "UserDict" — Class wrapper for dictionary objects

  * 8.13. "UserList" — Class wrapper for list objects

  * 8.14. "UserString" — Class wrapper for string objects

  * 8.15. "types" — Names for built-in types

  * 8.16. "new" — Creation of runtime internal objects

  * 8.17. "copy" — Opérations de copie superficielle et récursive

  * 8.18. "pprint" — L’affichage élégant de données

  * 8.19. "repr" — Alternate "repr()" implementation

* 9. Modules numériques et mathématiques

  * 9.1. "numbers" — Numeric abstract base classes

  * 9.2. Fonctions mathématiques — "math"

  * 9.3. Fonctions mathématiques pour nombres complexes — "cmath"

  * 9.4. "decimal" — Arithmétique décimale en virgule fixe et
    flottante

  * 9.5. "fractions" — Nombres rationnels

  * 9.6. "random" — Génère des nombres pseudo-aléatoires

  * 9.7. "itertools" — Fonctions créant des itérateurs pour boucler
    efficacement.

  * 9.8. "functools" — Fonctions de haut niveau et opérations sur
    des objets appelables

  * 9.9. "operator" — Opérateurs standards en tant que fonctions

* 10. Accès aux Fichiers et aux Dossiers

  * 10.1. "os.path" — Common pathname manipulations

  * 10.2. "fileinput" — Iterate over lines from multiple input
    streams

  * 10.3. "stat" — Interpreting "stat()" results

  * 10.4. "statvfs" — Constants used with "os.statvfs()"

  * 10.5. "filecmp" – Comparaisons de fichiers et de répertoires

  * 10.6. "tempfile" — Génération de fichiers et répertoires
    temporaires

  * 10.7. "glob" — Recherche de chemins de style Unix selon certains
    motifs

  * 10.8. "fnmatch" — Filtrage par motif des noms de fichiers Unix

  * 10.9. "linecache" — Accès direct aux lignes d’un texte

  * 10.10. "shutil" — Opérations de haut niveau sur les fichiers

  * 10.11. "dircache" — Cached directory listings

  * 10.12. "macpath" — Fonctions de manipulation de chemins pour Mac
    OS 9

* 11. Persistance des données

  * 11.1. "pickle" — Module de sérialisation d’objets Python

  * 11.2. "cPickle" — A faster "pickle"

  * 11.3. "copy_reg" — Register "pickle" support functions

  * 11.4. "shelve" — Objet Python persistant

  * 11.5. "marshal" — Internal Python object serialization

  * 11.6. "anydbm" — Generic access to DBM-style databases

  * 11.7. "whichdb" — Guess which DBM module created a database

  * 11.8. "dbm" — Simple « database » interface

  * 11.9. "gdbm" — GNU’s reinterpretation of dbm

  * 11.10. "dbhash" — DBM-style interface to the BSD database
    library

  * 11.11. "bsddb" — Interface to Berkeley DB library

  * 11.12. "dumbdbm" — Portable DBM implementation

  * 11.13. "sqlite3" — Interface DB-API 2.0 pour bases de données
    SQLite

* 12. Compression de donnée et archivage

  * 12.1. "zlib" — Compression compatible avec **gzip**

  * 12.2. "gzip" — Support pour les fichiers **gzip**

  * 12.3. "bz2" — Compression compatible with **bzip2**

  * 12.4. "zipfile" — Travailler avec des archives ZIP

  * 12.5. "tarfile" — Read and write tar archive files

* 13. Formats de fichiers

  * 13.1. "csv" — Lecture et écriture de fichiers CSV

  * 13.2. "ConfigParser" — Configuration file parser

  * 13.3. "robotparser" —  Parser for robots.txt

  * 13.4. "netrc" — traitement de fichier *netrc*

  * 13.5. "xdrlib" — Encode and decode XDR data

  * 13.6. "plistlib" — Generate and parse Mac OS X ".plist" files

* 14. Service de cryptographie

  * 14.1. "hashlib" — Algorithmes de hachage sécurisés et synthèse
    de messages

  * 14.2. "hmac" — Keyed-Hashing for Message Authentication

  * 14.3. "md5" — MD5 message digest algorithm

  * 14.4. "sha" — SHA-1 message digest algorithm

* 15. Services génériques du système d’exploitation

  * 15.1. "os" — Diverses interfaces pour le système d’exploitation

  * 15.2. "io" — Core tools for working with streams

  * 15.3. "time" — Accès au temps et conversions

  * 15.4. "argparse" – Parseur d’arguments, d’options, et de sous-
    commandes de ligne de commande

  * 15.5. "optparse" — Parser for command line options

  * 15.6. "getopt" — C-style parser for command line options

  * 15.7. "logging" — Logging facility for Python

  * 15.8. "logging.config" — Logging configuration

  * 15.9. "logging.handlers" — Logging handlers

  * 15.10. Saisie de mot de passe portable

  * 15.11. "curses" — Terminal handling for character-cell displays

  * 15.12. "curses.textpad" — Text input widget for curses programs

  * 15.13. "curses.ascii" — Utilities for ASCII characters

  * 15.14. "curses.panel" — A panel stack extension for curses

  * 15.15. "platform" —  Access to underlying platform’s identifying
    data

  * 15.16. "errno" — Symboles du système *errno* standard

  * 15.17. "ctypes" — A foreign function library for Python

* 16. Optional Operating System Services

  * 16.1. "select" — Waiting for I/O completion

  * 16.2. "threading" — Higher-level threading interface

  * 16.3. "thread" — Multiple threads of control

  * 16.4. "dummy_threading" — Module de substitution au module
    "threading"

  * 16.5. "dummy_thread" — Drop-in replacement for the "thread"
    module

  * 16.6. "multiprocessing" — Process-based « threading » interface

  * 16.7. "mmap" — Memory-mapped file support

  * 16.8. "readline" — interface pour GNU *readline*

  * 16.9. "rlcompleter" — Fonction de complétion pour *GNU readline*

* 17. Communication et réseau entre processus

  * 17.1. "subprocess" — Gestion de sous-processus

  * 17.2. "socket" — Low-level networking interface

  * 17.3. "ssl" — TLS/SSL wrapper for socket objects

  * 17.4. "signal" — Set handlers for asynchronous events

  * 17.5. "popen2" — Subprocesses with accessible I/O streams

  * 17.6. "asyncore" — Gestionnaire de socket asynchrone

  * 17.7. "asynchat" — Gestionnaire d’interfaces de connexion
    (*socket*) commande/réponse asynchrones

* 18. Traitement des données provenant d’Internet

  * 18.1. "email" — Un paquet de gestion des e-mails et MIME

  * 18.2. "json" — Encodage et décodage JSON

  * 18.3. "mailcap" — Manipulation de fichiers Mailcap

  * 18.4. "mailbox" — Manipuler les boîtes de courriels dans
    différents formats

  * 18.5. "mhlib" — Access to MH mailboxes

  * 18.6. "mimetools" — Tools for parsing MIME messages

  * 18.7. "mimetypes" — Map filenames to MIME types

  * 18.8. "MimeWriter" — Generic MIME file writer

  * 18.9. "mimify" — MIME processing of mail messages

  * 18.10. "multifile" — Support for files containing distinct parts

  * 18.11. "rfc822" — Parse RFC 2822 mail headers

  * 18.12. "base64" — RFC 3548: Base16, Base32, Base64 Data
    Encodings

  * 18.13. "binhex" — Encode et décode les fichiers *binhex4*

  * 18.14. "binascii" — Conversion entre binaire et ASCII

  * 18.15. "quopri" — Encode et décode des données *MIME quoted-
    printable*

  * 18.16. "uu" — Encode et décode les fichiers *uuencode*

* 19. Outils de traitement de balises structurées

  * 19.1. "HTMLParser" — Simple HTML and XHTML parser

  * 19.2. "sgmllib" — Simple SGML parser

  * 19.3. "htmllib" — A parser for HTML documents

  * 19.4. "htmlentitydefs" — Definitions of HTML general entities

  * 19.5. Modules de traitement XML

  * 19.6. Vulnérabilités XML

  * 19.7. "xml.etree.ElementTree" — The ElementTree XML API

  * 19.8. "xml.dom" — L’API Document Object Model

  * 19.9. "xml.dom.minidom" — Minimal DOM implementation

  * 19.10. "xml.dom.pulldom" — Support for building partial DOM
    trees

  * 19.11. "xml.sax" — Prise en charge des analyseurs SAX2

  * 19.12. "xml.sax.handler" — Base classes for SAX handlers

  * 19.13. "xml.sax.saxutils" — Utilitaires SAX

  * 19.14. "xml.sax.xmlreader" — Interface for XML parsers

  * 19.15. "xml.parsers.expat" — Fast XML parsing using Expat

* 20. Gestion des protocoles internet

  * 20.1. "webbrowser" — Convenient Web-browser controller

  * 20.2. "cgi" — Common Gateway Interface support

  * 20.3. "cgitb" — Gestionnaire d’exceptions pour les scripts CGI

  * 20.4. "wsgiref" — WSGI Utilities and Reference Implementation

  * 20.5. "urllib" — Open arbitrary resources by URL

  * 20.6. "urllib2" — extensible library for opening URLs

  * 20.7. "httplib" — HTTP protocol client

  * 20.8. "ftplib" — FTP protocol client

  * 20.9. "poplib" — POP3 protocol client

  * 20.10. "imaplib" — IMAP4 protocol client

  * 20.11. "nntplib" — NNTP protocol client

  * 20.12. "smtplib" — SMTP protocol client

  * 20.13. "smtpd" — SMTP Server

  * 20.14. "telnetlib" — Telnet client

  * 20.15. "uuid" — UUID objects according to RFC 4122

  * 20.16. "urlparse" — Parse URLs into components

  * 20.17. "SocketServer" — A framework for network servers

  * 20.18. "BaseHTTPServer" — Basic HTTP server

  * 20.19. "SimpleHTTPServer" — Simple HTTP request handler

  * 20.20. "CGIHTTPServer" — CGI-capable HTTP request handler

  * 20.21. "cookielib" — Cookie handling for HTTP clients

  * 20.22. "Cookie" — HTTP state management

  * 20.23. "xmlrpclib" — XML-RPC client access

  * 20.24. "SimpleXMLRPCServer" — Basic XML-RPC server

  * 20.25. "DocXMLRPCServer" — Self-documenting XML-RPC server

* 21. Services multimédia

  * 21.1. "audioloop" — Manipulation de données audio brutes

  * 21.2. "imageop" — Manipulate raw image data

  * 21.3. "aifc" — Lis et écrit dans les fichiers AIFF et AIFC

  * 21.4. "sunau" — Read and write Sun AU files

  * 21.5. "wave" — Read and write WAV files

  * 21.6. "chunk" — Read IFF chunked data

  * 21.7. "colorsys" — Conversions entre les systèmes de couleurs

  * 21.8. "imghdr" — Determine the type of an image

  * 21.9. "sndhdr" — Détermine le type d’un fichier audio

  * 21.10. "ossaudiodev" — Access to OSS-compatible audio devices

* 22. Internationalisation

  * 22.1. "gettext" — Services d’internationalisation multilingue

  * 22.2. "locale" — Internationalization services

* 23. *Frameworks* d’applications

  * 23.1. "cmd" — Interpréteurs en ligne de commande.

  * 23.2. "shlex" — Simple lexical analysis

* 24. Interfaces Utilisateur Graphiques avec Tk

  * 24.1. "Tkinter" — Python interface to Tcl/Tk

  * 24.2. "ttk" — Tk themed widgets

  * 24.3. "Tix" — Extension widgets for Tk

  * 24.4. "ScrolledText" — Scrolled Text Widget

  * 24.5. "turtle" — Turtle graphics for Tk

  * 24.6. IDLE

  * 24.7. Autres paquets d’interface graphique utilisateur

* 25. Outils de développement

  * 25.1. "pydoc" — Générateur de documentation et système d’aide en
    ligne

  * 25.2. "doctest" — Test interactive Python examples

  * 25.3. "unittest" — *Framework* de tests unitaires

  * 25.4. *2to3* — Traduction automatique de code en Python 2 vers
    Python 3

  * 25.5. "test" — Regression tests package for Python

  * 25.6. "test.support" — Utility functions for tests

* 26. Débogueur et instrumentation

  * 26.1. "bdb" — Framework de débogage

  * 26.2. "pdb" — Le débogueur Python

  * 26.3. Commande du débogueur

  * 26.4. The Python Profilers

  * 26.5. "hotshot" — High performance logging profiler

  * 26.6. "timeit" — Measure execution time of small code snippets

  * 26.7. "trace" — Trace or track Python statement execution

* 27. Paquets et distribution de paquets logiciels

  * 27.1. "distutils" — Création et installation des modules Python

  * 27.2. "ensurepip" — Bootstrapping the "pip" installer

* 28. Environnement d’exécution Python

  * 28.1. "sys" — Paramètres et fonctions propres à des systèmes

  * 28.2. "sysconfig" — Provide access to Python’s configuration
    information

  * 28.3. "__builtin__" — Objets natifs

  * 28.4. "future_builtins" — Python 3 builtins

  * 28.5. "__main__" — Point d’entrée des scripts

  * 28.6. "warnings" — Contrôle des alertes

  * 28.7. "contextlib" — Utilities for "with"-statement contexts

  * 28.8. "abc" — Classes de Base Abstraites

  * 28.9. "atexit" — Gestionnaire de fin de programme

  * 28.10. "traceback" — Print or retrieve a stack traceback

  * 28.11. "__future__" — Définitions des futurs

  * 28.12. "gc" — Garbage Collector interface

  * 28.13. "inspect" — Inspect live objects

  * 28.14. "site" — Site-specific configuration hook

  * 28.15. "user" — User-specific configuration hook

  * 28.16. "fpectl" — Floating point exception control

* 29. Interpréteurs Python personnalisés

  * 29.1. "code" — Interpreter base classes

  * 29.2. "codeop" — Compilation de code Python

* 30. Restricted Execution

  * 30.1. "rexec" — Restricted execution framework

  * 30.2. "Bastion" — Restricting access to objects

* 31. Importer des modules

  * 31.1. "imp" — Access the "import" internals

  * 31.2. "importlib" — Convenience wrappers for "__import__()"

  * 31.3. "imputil" — Import utilities

  * 31.4. "zipimport" — Import modules from Zip archives

  * 31.5. "pkgutil" — Package extension utility

  * 31.6. "modulefinder" — Identifie les modules utilisés par un
    script

  * 31.7. "runpy" — Locating and executing Python modules

* 32. Services du Langage Python

  * 32.1. "parser" — Access Python parse trees

  * 32.2. "ast" — Arbres Syntaxiques Abstraits

  * 32.3. "symtable" — Access to the compiler’s symbol tables

  * 32.4. "symbol" — Constantes utilisées dans les Arbres
    Syntaxiques

  * 32.5. "token" — Constantes utilisées avec les arbres d’analyse
    Python (*parse trees*)

  * 32.6. "keyword" — Tester si des chaînes sont des mot-clés Python

  * 32.7. "tokenize" — Analyseur lexical de Python

  * 32.8. "tabnanny" — Détection d’indentation ambiguë

  * 32.9. "pyclbr" — Python class browser support

  * 32.10. "py_compile" — Compile Python source files

  * 32.11. "compileall" — Byte-compile Python libraries

  * 32.12. "dis" — Disassembler for Python bytecode

  * 32.13. "pickletools" — Tools for pickle developers

* 33. Python compiler package

  * 33.1. The basic interface

  * 33.2. Limitations

  * 33.3. Python Abstract Syntax

  * 33.4. Using Visitors to Walk ASTs

  * 33.5. Bytecode Generation

* 34. Services divers

  * 34.1. "formatter" — Generic output formatting

* 35. Services spécifiques à MS Windows

  * 35.1. "msilib" — Read and write Microsoft Installer files

  * 35.2. "msvcrt" — Useful routines from the MS VC++ runtime

  * 35.3. "_winreg" — Windows registry access

  * 35.4. "winsound" — Sound-playing interface for Windows

* 36. Services spécifiques à Unix

  * 36.1. "posix" — Les appels système POSIX les plus courants

  * 36.2. "pwd" — The password database

  * 36.3. "spwd" — La base de données de mots de passe *shadow*

  * 36.4. "grp" — The group database

  * 36.5. "crypt" — Function to check Unix passwords

  * 36.6. "dl" — Call C functions in shared objects

  * 36.7. "termios" — Le style POSIX le contrôle TTY

  * 36.8. "tty" — Fonctions de gestion du terminal

  * 36.9. "pty" — Outils de manipulation de pseudo-terminaux

  * 36.10. "fcntl" — The "fcntl" and "ioctl" system calls

  * 36.11. "pipes" — Interface au *pipelines* shell

  * 36.12. "posixfile" — File-like objects with locking support

  * 36.13. "resource" — Resource usage information

  * 36.14. "nis" — Interface à Sun’s NIS (pages jaunes)

  * 36.15. "syslog" — Unix syslog library routines

  * 36.16. "commands" — Utilities for running commands

* 37. Mac OS X specific services

  * 37.1. "ic" — Access to the Mac OS X Internet Config

  * 37.2. "MacOS" — Access to Mac OS interpreter features

  * 37.3. "macostools" — Convenience routines for file manipulation

  * 37.4. "findertools" — The **finder**’s Apple Events interface

  * 37.5. "EasyDialogs" — Basic Macintosh dialogs

  * 37.6. "FrameWork" — Interactive application framework

  * 37.7. "autoGIL" — Global Interpreter Lock handling in event
    loops

  * 37.8. Mac OS Toolbox Modules

  * 37.9. "ColorPicker" — Color selection dialog

* 38. MacPython OSA Modules

  * 38.1. "gensuitemodule" — Generate OSA stub packages

  * 38.2. "aetools" — OSA client support

  * 38.3. "aepack" — Conversion between Python variables and
    AppleEvent data containers

  * 38.4. "aetypes" — AppleEvent objects

  * 38.5. "MiniAEFrame" — Open Scripting Architecture server support

* 39. SGI IRIX Specific Services

  * 39.1. "al" — Audio functions on the SGI

  * 39.2. "AL" — Constants used with the "al" module

  * 39.3. "cd" — CD-ROM access on SGI systems

  * 39.4. "fl" — FORMS library for graphical user interfaces

  * 39.5. "FL" — Constants used with the "fl" module

  * 39.6. "flp" — Functions for loading stored FORMS designs

  * 39.7. "fm" — *Font Manager* interface

  * 39.8. "gl" — *Graphics Library* interface

  * 39.9. "DEVICE" — Constants used with the "gl" module

  * 39.10. "GL" — Constants used with the "gl" module

  * 39.11. "imgfile" — Support for SGI imglib files

  * 39.12. "jpeg" — Read and write JPEG files

* 40. SunOS Specific Services

  * 40.1. "sunaudiodev" — Access to Sun audio hardware

  * 40.2. "SUNAUDIODEV" — Constants used with "sunaudiodev"

* 41. Modules non Documentés

  * 41.1. Miscellaneous useful utilities

  * 41.2. Modules spécifiques à une plateforme

  * 41.3. Multimedia

  * 41.4. Undocumented Mac OS modules

  * 41.5. Obsolete

  * 41.6. SGI-specific Extension modules
