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.
Au delà de la bibliothèque standard, il existe une collection grandissante de plusieurs milliers de composants (des programmes, des modules, ou des frameworks), disponibles dans le Python Package Index.
- 1. Introduction
- 2. Fonctions natives
- 3. Constantes natives
- 4. Types natifs
- 4.1. Valeurs booléennes
- 4.2. Opérations booléennes —
and
,or
,not
- 4.3. Comparaisons
- 4.4. Types numériques —
int
,float
,complex
- 4.5. Les types itérateurs
- 4.6. Types séquentiels —
list
,tuple
,range
- 4.7. Type Séquence de Texte —
str
- 4.8. Séquences Binaires —
bytes
,bytearray
,memoryview
- 4.9. Types d’ensembles —
set
,frozenset
- 4.10. Les types de correspondances —
dict
- 4.11. Le type gestionnaire de contexte
- 4.12. Autres types natifs
- 4.13. Attributs spéciaux
- 5. Exceptions natives
- 6. Services de Manipulation de Texte
- 6.1.
string
— Opérations usuelles sur des chaînes - 6.2.
re
— Opérations à base d’expressions rationnelles - 6.3.
difflib
— Utilitaires pour le calcul des deltas - 6.4.
textwrap
— Encapsulation et remplissage de texte - 6.5.
unicodedata
— Base de données Unicode - 6.6.
stringprep
— Préparation des chaines de caractères internet - 6.7.
readline
— interface pour GNU readline - 6.8.
rlcompleter
— Fonction de complétion pour GNU readline
- 6.1.
- 7. Services autour des Données Binaires
- 8. Types de données
- 8.1.
datetime
— Types de base pour la date et l’heure - 8.2.
calendar
— Fonctions calendaires générales - 8.3.
collections
— Types de données de conteneurs - 8.4.
collections.abc
— Classes de base abstraites pour les conteneurs - 8.5.
heapq
— File de priorité basée sur un tas - 8.6.
bisect
— Algorithme de bissection de listes - 8.7.
array
— Tableaux efficaces de valeurs numériques - 8.8.
weakref
— Weak references - 8.9.
types
— Dynamic type creation and names for built-in types - 8.10.
copy
— Opérations de copie superficielle et récursive - 8.11.
pprint
— L’affichage élégant de données - 8.12.
reprlib
— Alternaterepr()
implementation - 8.13.
enum
— Énumerations
- 8.1.
- 9. Modules numériques et mathématiques
- 9.1.
numbers
— Classes de base abstraites numériques - 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.
statistics
— Fonctions mathématiques pour les statistiques
- 9.1.
- 10. Modules de programmation fonctionnelle
- 11. Accès aux Fichiers et aux Dossiers
- 11.1.
pathlib
— Chemins de système de fichiers orientés objet - 11.2.
os.path
— manipulation courante des chemins - 11.3.
fileinput
— Iterate over lines from multiple input streams - 11.4.
stat
— Interpretingstat()
results - 11.5.
filecmp
– Comparaisons de fichiers et de répertoires - 11.6.
tempfile
— Génération de fichiers et répertoires temporaires - 11.7.
glob
— Recherche de chemins de style Unix selon certains motifs - 11.8.
fnmatch
— Filtrage par motif des noms de fichiers Unix - 11.9.
linecache
— Accès direct aux lignes d’un texte - 11.10.
shutil
— Opérations de haut niveau sur les fichiers - 11.11.
macpath
— Fonctions de manipulation de chemins pour Mac OS 9
- 11.1.
- 12. Persistance des données
- 12.1.
pickle
— Module de sérialisation d’objets Python - 12.2.
copyreg
— Enregistre les fonctions support depickle
- 12.3.
shelve
— Objet Python persistant - 12.4.
marshal
— Sérialisation interne des objets Python - 12.5.
dbm
— Interfaces to Unix « databases » - 12.6.
sqlite3
— Interface DB-API 2.0 pour bases de données SQLite
- 12.1.
- 13. Compression de donnée et archivage
- 13.1.
zlib
— Compression compatible avec gzip - 13.2.
gzip
— Support pour les fichiers gzip - 13.3.
bz2
— Prise en charge de la compression bzip2 - 13.4.
lzma
— Compression via l’algorithme LZMA - 13.5.
zipfile
— Travailler avec des archives ZIP - 13.6.
tarfile
— Lecture et écriture de fichiers d’archives tar
- 13.1.
- 14. Formats de fichiers
- 15. Service de cryptographie
- 16. Services génériques du système d’exploitation
- 16.1.
os
— Diverses interfaces pour le système d’exploitation - 16.2.
io
— Core tools for working with streams - 16.3.
time
— Accès au temps et conversions - 16.4.
argparse
– Parseur d’arguments, d’options, et de sous-commandes de ligne de commande - 16.5.
getopt
– Analyseur de style C pour les options de ligne de commande - 16.6.
logging
— Fonctionnalités de journalisation pour Python - 16.7.
logging.config
— Logging configuration - 16.8.
logging.handlers
— Gestionnaires de journalisation - 16.9. Saisie de mot de passe portable
- 16.10.
curses
— Terminal handling for character-cell displays - 16.11.
curses.textpad
— Text input widget for curses programs - 16.12.
curses.ascii
— Utilities for ASCII characters - 16.13.
curses.panel
— A panel stack extension for curses - 16.14.
platform
— Accès aux données sous-jacentes de la plateforme - 16.15.
errno
— Symboles du système errno standard - 16.16.
ctypes
— Bibliothèque Python d’appels à des fonctions externes
- 16.1.
- 17. Exécution concourante
- 17.1.
threading
— Parallélisme basé sur les fils d’exécution (threads) - 17.2.
multiprocessing
— Parallélisme par processus - 17.3. Le paquet
concurrent
- 17.4.
concurrent.futures
— Launching parallel tasks - 17.5.
subprocess
— Gestion de sous-processus - 17.6.
sched
— Event scheduler - 17.7.
queue
— File synchronisée - 17.8.
dummy_threading
— Module de substitution au modulethreading
- 17.9.
_thread
— API bas niveau de gestion de fils d’exécution - 17.10.
_dummy_thread
— Module de substitution pour le module_thread
- 17.1.
- 18. Communication et réseau entre processus
- 18.1.
socket
— Gestion réseau de bas niveau - 18.2.
ssl
— Emballage TLS/SSL pour les objets connecteurs - 18.3.
select
— Waiting for I/O completion - 18.4.
selectors
— High-level I/O multiplexing - 18.5.
asyncio
— Entrées/Sorties asynchrone, boucle d’évènements, coroutines et tâches - 18.6.
asyncore
— Gestionnaire de socket asynchrone - 18.7.
asynchat
— Gestionnaire d’interfaces de connexion (socket) commande/réponse asynchrones - 18.8.
signal
— Set handlers for asynchronous events - 18.9.
mmap
— Memory-mapped file support
- 18.1.
- 19. Traitement des données provenant d’Internet
- 19.1.
email
— Un paquet de gestion des e-mails et MIME - 19.2.
json
— Encodage et décodage JSON - 19.3.
mailcap
— Manipulation de fichiers Mailcap - 19.4.
mailbox
— Manipuler les boîtes de courriels dans différents formats - 19.5.
mimetypes
— Map filenames to MIME types - 19.6.
base64
— Encodages base16, base32, base64 et base85 - 19.7.
binhex
— Encode et décode les fichiers binhex4 - 19.8.
binascii
— Conversion entre binaire et ASCII - 19.9.
quopri
— Encode et décode des données MIME quoted-printable - 19.10.
uu
— Encode et décode les fichiers uuencode
- 19.1.
- 20. Outils de traitement de balises structurées
- 20.1.
html
— Support du HyperText Markup Language - 20.2.
html.parser
— Simple HTML and XHTML parser - 20.3.
html.entities
— Définitions des entités HTML générales - 20.4. Modules de traitement XML
- 20.5.
xml.etree.ElementTree
— The ElementTree XML API - 20.6.
xml.dom
— L’API Document Object Model - 20.7.
xml.dom.minidom
— Minimal DOM implementation - 20.8.
xml.dom.pulldom
— Support for building partial DOM trees - 20.9.
xml.sax
— Prise en charge des analyseurs SAX2 - 20.10.
xml.sax.handler
— Base classes for SAX handlers - 20.11.
xml.sax.saxutils
— Utilitaires SAX - 20.12.
xml.sax.xmlreader
— Interface for XML parsers - 20.13.
xml.parsers.expat
— Fast XML parsing using Expat
- 20.1.
- 21. Gestion des protocoles internet
- 21.1.
webbrowser
— Convenient Web-browser controller - 21.2.
cgi
— Common Gateway Interface support - 21.3.
cgitb
— Gestionnaire d’exceptions pour les scripts CGI - 21.4.
wsgiref
— Outils et implémentation de référence de WSGI - 21.5.
urllib
— Modules de gestion des URLs - 21.6.
urllib.request
— Extensible library for opening URLs - 21.7.
urllib.response
— Response classes used by urllib - 21.8.
urllib.parse
— Parse URLs into components - 21.9.
urllib.error
— Classes d’exceptions levées par urllib.request - 21.10.
urllib.robotparser
— Analyseur de fichiers robots.txt - 21.11.
http
— modules HTTP - 21.12.
http.client
— HTTP protocol client - 21.13.
ftplib
— FTP protocol client - 21.14.
poplib
— POP3 protocol client - 21.15.
imaplib
— IMAP4 protocol client - 21.16.
nntplib
— NNTP protocol client - 21.17.
smtplib
— SMTP protocol client - 21.18.
smtpd
— SMTP Server - 21.19.
telnetlib
— Telnet client - 21.20.
uuid
— Objets UUID d’après la RFC 4122 - 21.21.
socketserver
— A framework for network servers - 21.22.
http.server
— HTTP servers - 21.23.
http.cookies
— gestion d’état pour HTTP - 21.24.
http.cookiejar
— Cookie handling for HTTP clients - 21.25.
xmlrpc
— Modules Serveur et Client XMLRPC - 21.26.
xmlrpc.client
— XML-RPC client access - 21.27.
xmlrpc.server
— Basic XML-RPC servers - 21.28.
ipaddress
— IPv4/IPv6 manipulation library
- 21.1.
- 22. Services multimédia
- 22.1.
audioloop
— Manipulation de données audio brutes - 22.2.
aifc
— Lis et écrit dans les fichiers AIFF et AIFC - 22.3.
sunau
— Read and write Sun AU files - 22.4.
wave
— Lecture et écriture des fichiers WAV - 22.5.
chunk
— Read IFF chunked data - 22.6.
colorsys
— Conversions entre les systèmes de couleurs - 22.7.
imghdr
— Determine the type of an image - 22.8.
sndhdr
— Détermine le type d’un fichier audio - 22.9.
ossaudiodev
— Access to OSS-compatible audio devices
- 22.1.
- 23. Internationalisation
- 24. Frameworks d’applications
- 25. Interfaces Utilisateur Graphiques avec Tk
- 26. Outils de développement
- 26.1.
typing
— Prise en charge des annotations de type - 26.2.
pydoc
— Générateur de documentation et système d’aide en ligne - 26.3.
doctest
— Test interactive Python examples - 26.4.
unittest
— Framework de tests unitaires - 26.5.
unittest.mock
— Bibliothèque d’objets simulacres - 26.6.
unittest.mock
— getting started - 26.7. 2to3 — Traduction automatique de code en Python 2 vers Python 3
- 26.8.
test
— Regression tests package for Python - 26.9.
test.support
— Utilities for the Python test suite
- 26.1.
- 27. Débogueur et instrumentation
- 27.1.
bdb
— Framework de débogage - 27.2.
faulthandler
— Dump the Python traceback - 27.3.
pdb
— Le débogueur Python - 27.4. The Python Profilers
- 27.5.
timeit
— Mesurer le temps d’exécution de fragments de code - 27.6.
trace
— Trace or track Python statement execution - 27.7.
tracemalloc
— Trace memory allocations
- 27.1.
- 28. Paquets et distribution de paquets logiciels
- 29. Environnement d’exécution Python
- 29.1.
sys
— Paramètres et fonctions propres à des systèmes - 29.2.
sysconfig
— Provide access to Python’s configuration information - 29.3.
builtins
— Objets natifs - 29.4.
__main__
— Point d’entrée des scripts - 29.5.
warnings
— Contrôle des alertes - 29.6.
contextlib
— Utilities forwith
-statement contexts - 29.7.
abc
— Classes de Base Abstraites - 29.8.
atexit
— Gestionnaire de fin de programme - 29.9.
traceback
— Print or retrieve a stack traceback - 29.10.
__future__
— Définitions des futurs - 29.11.
gc
— Garbage Collector interface - 29.12.
inspect
— Inspect live objects - 29.13.
site
— Site-specific configuration hook - 29.14.
fpectl
— Floating point exception control
- 29.1.
- 30. Interpréteurs Python personnalisés
- 31. Importer des modules
- 32. Services du Langage Python
- 32.1.
parser
— Accès aux arbres syntaxiques - 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
— Compilation de sources Python - 32.11.
compileall
— Génération du code intermédiaire des bibliothèques Python - 32.12.
dis
– Désassembleur pour le code intermédiaire de Python - 32.13.
pickletools
— Tools for pickle developers
- 32.1.
- 33. Services divers
- 34. Services spécifiques à MS Windows
- 35. Services spécifiques à Unix
- 35.1.
posix
— Les appels système POSIX les plus courants - 35.2.
pwd
— The password database - 35.3.
spwd
— La base de données de mots de passe shadow - 35.4.
grp
— The group database - 35.5.
crypt
— Function to check Unix passwords - 35.6.
termios
— Le style POSIX le contrôle TTY - 35.7.
tty
— Fonctions de gestion du terminal - 35.8.
pty
— Outils de manipulation de pseudo-terminaux - 35.9.
fcntl
— Thefcntl
andioctl
system calls - 35.10.
pipes
— Interface au pipelines shell - 35.11.
resource
— Resource usage information - 35.12.
nis
— Interface à Sun’s NIS (pages jaunes) - 35.13.
syslog
— Unix syslog library routines
- 35.1.
- 36. Modules remplacés
- 37. Modules non Documentés