La Biblioteca Estándar de Python
Aunque Referencia del Lenguaje Python describe la sintaxis y semántica
precisa del lenguaje Python, este manual de referencia de la biblioteca describe
la biblioteca estándar que se distribuye con Python. También describe algunos
componentes opcionales que son usualmente incluidos en las distribuciones de
Python.
La biblioteca estándar de Python es muy amplia, y ofrece una gran cantidad de
producciones como puede verse en la larga lista de contenidos. La biblioteca
contiene módulos incorporados (escritos en C) que brindan acceso a las
funcionalidades del sistema como entrada y salida de archivos que serían de
otra forma inaccesibles para los programadores en Python, así como módulos
escritos en Python que proveen soluciones estandarizadas para los diversos
problemas que pueden ocurrir en el día a día en la programación. Algunos de
éstos módulos están diseñados explícitamente para alentar y reforzar la
portabilidad de los programas en Python abstrayendo especificidades de las
plataformas para lograr APIs neutrales a la plataforma.
Los instaladores de Python para la plataforma Windows frecuentemente
incluyen la biblioteca estándar completa y suelen también incluir muchos
componentes adicionales. Para los sistemas operativos tipo Unix Python suele
ser provisto como una colección de paquetes, así que puede requerirse usar
las herramientas de empaquetado disponibles en los sistemas operativos para
obtener algunos o todos los componentes opcionales.
In addition to the standard library, there is an active collection of hundreds of
thousands of components (from individual programs and modules to packages
and entire application development frameworks), available from the Python
Package Index.
Introducción
o Notas sobre la disponibilidad
Funciones Built-in
Constantes incorporadas
o Constantes agregadas por el módulo site
Tipos Integrados
o Evaluar como valor verdadero/falso
o Operaciones booleanas — and, or, not
o Comparaciones
o Tipos numéricos — int, float, complex
o Tipos de iteradores
o Tipos secuencia — list, tuple, range
o Cadenas de caracteres — str
o Tipos de secuencias binarias
— bytes, bytearray y memoryview
o Conjuntos — set, frozenset
o Tipos Mapa — dict
o Tipos Gestores de Contexto
o Tipos de Anotaciones de Tipo — Generic Alias, Union
o Otros tipos predefinidos
o Atributos especiales
o Integer string conversion length limitation
Excepciones incorporadas
o Contexto de una excepción
o Heredando de excepciones incorporadas
o Clases base
o Excepciones específicas
o Advertencias
o Grupos de excepciones
o Jerarquía de excepción
Servicios de procesamiento de texto
o string — Operaciones comunes de cadena de caracteres
o re — Operaciones con expresiones regulares
o difflib — Funciones auxiliares para calcular deltas
o textwrap — Envoltura y relleno de texto
o unicodedata — Base de datos Unicode
o stringprep — Preparación de cadenas de Internet
o readline — Interfaz readline de GNU
o rlcompleter — Función de completado para GNU readline
Servicios de datos binarios
o struct — Interpreta bytes como paquetes de datos binarios
o codecs — Registro de códec y clases base
Tipos de datos
o datetime — Tipos básicos de fecha y hora
o zoneinfo — Soporte de zona horaria IANA
o calendar — Funciones generales relacionadas con el calendario
o collections — Tipos de datos contenedor
o [Link] — Clases Base Abstractas para
Contenedores
o heapq — Algoritmo de colas montículos (heap)
o bisect — Algoritmo de bisección de arreglos
o array — Arreglos eficientes de valores numéricos
o weakref — Referencias débiles
o types — Creación de tipos dinámicos y nombres para tipos
integrados
o copy — Operaciones de copia superficial y profunda
o pprint — Impresión bonita de datos
o reprlib — Implementación repr() alternativa
o enum — Soporte para enumeraciones
o graphlib —Funcionalidad para operar con estructuras de tipo-
grafo
Módulos numéricos y matemáticos
o numbers — Clase base abstracta numérica
o math — Funciones matemáticas
o cmath – Función matemática para números complejos
o decimal — Aritmética decimal de coma fija y coma flotante
o fractions — Números racionales
o random —Generar números pseudoaleatorios
o statistics — Funciones de estadística matemática
Módulos de programación funcional
o itertools — Funciones que crean iteradores para bucles
eficientes
o functools — Funciones de orden superior y operaciones sobre
objetos invocables
o operator — Operadores estándar como funciones
Acceso a archivos y directorios
o pathlib — Rutas de sistemas orientada a objetos
o [Link] — Manipulaciones comunes de nombre de ruta
o fileinput — Iterar sobre líneas de múltiples flujos de entrada
o stat — Interpretación de los resultados de stat()
o filecmp— Comparaciones de Archivo y Directorio
o tempfile — Generar archivos y directorios temporales
o glob — Expansión del patrón de nombres de ruta de estilo Unix
o fnmatch — Coincidencia de patrones de nombre de archivos
Unix
o linecache — Acceso aleatorio a líneas de texto
o shutil — Operaciones de archivos de alto nivel
Persistencia de datos
o pickle — Serialización de objetos Python
o copyreg — Registrar funciones de soporte de pickle
o shelve — Persistencia de objetos de Python
o marshal — Serialización interna de objetos Python
o dbm — Interfaces para «bases de datos» de Unix
o sqlite3 — DB-API 2.0 interfaz para bases de datos SQLite
Compresión de datos y archivado
o zlib — Compresión compatible con gzip
o gzip — Soporte para archivos gzip
o bz2 — Soporte para compresión bzip2
o lzma — Compresión utilizando el algoritmo LZMA
o zipfile — Trabajar con archivos ZIP
o tarfile — Leer y escribir archivos tar
Formatos de archivo
o csv — Lectura y escritura de archivos CSV
o configparser — Parser para archivos de configuración
o tomllib — Parse TOML files
o netrc — procesado del fichero netrc
o plistlib — Genera y analiza archivos .plist de Apple
Servicios Criptográficos
o hashlib — Hashes seguros y resúmenes de mensajes
o hmac — Hash con clave para autenticación de mensajes
o secrets — Genera números aleatorios seguros para trabajar con
secretos criptográficos
Servicios genéricos del sistema operativo
o os — Interfaces misceláneas del sistema operativo
o io — Herramientas principales para trabajar con streams
o time — Acceso a tiempo y conversiones
o argparse — Analizador sintáctico (Parser) para las opciones,
argumentos y sub-comandos de la línea de comandos
o getopt — Analizador de estilo C para opciones de línea de
comando
o logging — Instalación de logging para Python
o [Link] — Configuración de registro
o [Link] — Gestores de logging
o getpass — Entrada de contraseña portátil
o curses — Manejo de terminales para pantallas de celdas de
caracteres
o [Link]— Widget de entrada de texto para programas
de curses
o [Link] — Utilidades para los caracteres ASCII
o [Link] — Una extensión de pila de panel para curses
o platform — Acceso a los datos identificativos de la plataforma
subyacente
o errno — Símbolos estándar del sistema errno
o ctypes — Una biblioteca de funciones foráneas para Python
Ejecución concurrente
o threading — Paralelismo basado en hilos
o multiprocessing — Paralelismo basado en procesos
o multiprocessing.shared_memory — Shared memory for
direct access across processes
o El paquete concurrent
o [Link] — Lanzamiento de tareas paralelas
o subprocess — Gestión de subprocesos
o sched — Eventos del planificador
o queue — clase de cola sincronizada
o contextvars — Variables de Contexto
o _thread — API de bajo nivel para manejo de hilos
Comunicación en redes y entre procesos
o asyncio — E/S Asíncrona
o socket — interfaz de red de bajo nivel
o ssl —Empaquetador o wrapper TLS/SSL para objetos de tipo
socket
o select — Esperando la finalización de E/S
o selectors — Multiplexación de E/S de alto nivel
o signal — Establece gestores para eventos asíncronos
o mmap — Soporte de archivos mapeados en memoria
Manejo de Datos de Internet
o email — Un paquete de manejo de correo electrónico y MIME
o json — Codificador y decodificador JSON
o mailbox — Manipular buzones de correo en varios formatos
o mimetypes — Mapea nombres de archivo a tipos MIME
o base64 — Codificaciones de datos Base16, Base32, Base64, y
Base85
o binascii — Convertir entre binario y ASCII
o quopri — Codificar y decodificar datos MIME imprimibles entre
comillas
Herramientas Para Procesar Formatos de Marcado Estructurado
o html — Compatibilidad con el Lenguaje de marcado de hipertexto
o [Link] — Analizador simple de HTML y XHTML
o [Link] — Definiciones de entidades generales HTML
o Módulos de procesamiento XML
o [Link] — La API XML de ElementTree
o [Link] — El API del Modelo de Objetos del Documento
o [Link] — Implementación mínima del DOM
o [Link] — Soporte para la construcción parcial de
árboles DOM
o [Link]— Soporte para analizadores SAX2
o [Link] — Base classes for SAX handlers
o [Link] — Utilidades SAX
o [Link] — Interfaz para analizadores XML
o [Link] — Análisis rápido XML usando Expat
Protocolos y soporte de Internet
o webbrowser — Controlador de navegador web conveniente
o wsgiref — Utilidades WSGI e implementación de referencia
o urllib — URL módulos de manipulación
o [Link] — Biblioteca extensible para abrir URLs
o [Link] — Clases de respuesta usadas por urllib
o [Link] — Analiza URL en componentes
o [Link] — Clases de excepción lanzadas por
[Link]
o [Link] — Analizador para [Link]
o http — Módulos HTTP
o [Link] — Cliente de protocolo HTTP
o ftplib — cliente de protocolo FTP
o poplib — Cliente de protocolo POP3
o imaplib — Protocolo del cliente IMAP4
o smtplib — Cliente de protocolo SMTP
o uuid — objetos UUID según RFC 4122
o socketserver — Un framework para servidores de red
o [Link] — Servidores HTTP
o [Link] — Gestión del estado HTTP
o [Link] — Manejo de cookies para clientes HTTP
o xmlrpc — Módulos XMLRPC para cliente y servidor
o [Link] — acceso cliente XML-RPC
o [Link] — Servidores básicos XML-RPC
o ipaddress — Biblioteca de manipulación IPv4 / IPv6
Servicios Multimedia
o wave — Leer y escribir archivos WAV
o colorsys — Conversiones entre sistemas de color
Internacionalización
o gettext — Servicios de internacionalización multilingües
o locale — Servicios de internacionalización
Frameworks de programa
o turtle — Gráficos con Turtle
o cmd — Soporte para intérpretes orientados a línea de comandos
o shlex — Análisis léxico simple
Interfaces gráficas de usuario con Tk
o tkinter — Interface de Python para Tcl/Tk
o [Link] — Diálogo de elección de color
o [Link] — Envoltorio de fuente Tkinter
o Diálogos Tkinter
o [Link] — Indicadores de mensajes de Tkinter
o [Link] — Widget de texto desplazado
o [Link] — Soporte de arrastrar y soltar
o [Link] — Tk widgets temáticos
o [Link] — Ampliación de widgets para Tk
o IDLE
Herramientas de desarrollo
o typing — Soporte para type hints
o pydoc — Generador de documentación y Sistema de ayuda en
línea
o Modo de desarrollo de Python
o Efectos del modo de desarrollo de Python
o Ejemplo de ResourceWarning
o Ejemplo de error de descriptor de archivo incorrecto
o doctest – Prueba ejemplos interactivos de Python
o unittest — Infraestructura de tests unitarios
o [Link] — Biblioteca de objetos simulados
o [Link] — primeros pasos
o 2to3 — Automated Python 2 to 3 code translation
o test — Paquete de pruebas de regresión para Python
o [Link] — Utilidades para el conjunto de pruebas de
Python
o [Link].socket_helper — Utilidades para pruebas de
socket
o [Link].script_helper —Utilidades para las pruebas
de ejecución de Python
o [Link].bytecode_helper — Herramientas de apoyo
para comprobar la correcta generación de bytecode
o [Link].threading_helper — Utilidades para pruebas
con hilos
o [Link].os_helper — Utilidades para pruebas de
sistemas operativos
o [Link].import_helper — Utilidades para pruebas de
importación
o [Link].warnings_helper — Utilidades para pruebas
de advertencias
Depuración y perfilado
o Tabla de auditoría de eventos
o bdb — Framework de depuración
o faulthandler — Volcar el rastreo de Python
o pdb — El Depurador de Python
o Los perfiladores de Python
o timeit — Mide el tiempo de ejecución de pequeños fragmentos
de código
o trace — Rastrear la ejecución de la declaración de Python
o tracemalloc— Rastrea la asignación de memoria
Empaquetado y distribución de software
o distutils — Creación e instalación de módulos Python
o ensurepip — Ejecutando el instalador pip
o venv — Creación de entornos virtuales
o zipapp — Gestiona archivadores zip ejecutables de Python
Servicios en tiempo de ejecución de Python
o sys — Parámetros y funciones específicos del sistema
o sysconfig — Proporciona acceso a la información de
configuración de Python
o builtins — Objetos incorporados
o __main__ — Entorno de código de nivel máximo
o warnings — Control de advertencias
o dataclasses — Clases de datos
o contextlib — Utilidades para declaraciones de contexto with
o abc — Clases de Base Abstracta
o atexit — Gestores de Salida
o traceback — Imprimir o recuperar un seguimiento de pila
o __future__ — Definiciones de declaraciones futuras
o gc — Interfaz del recolector de basura
o inspect — Inspeccionar objetos vivos
o site — Enlace (hook) de configuración específico del sitio
Intérpretes de Python personalizados
o code — Clases básicas de intérpretes
o codeop — Compila código Python
Importando módulos
o zipimport — Importar módulos desde archivos zip
o pkgutil — Utilidad de extensión de paquete
o modulefinder — Buscar módulos usados por un script
o runpy — Localización y ejecución de módulos Python
o importlib — La implementación de import
o [Link] – Resources
o Deprecated functions
o [Link] – Abstract base classes for
resources
o Usando [Link]
o La inicialización de la ruta de búsqueda de módulo de [Link]
Servicios del lenguaje Python
o ast — Árboles de sintaxis abstracta
o symtable — Acceso a la tabla de símbolos del compilador
o token— Constantes usadas con árboles de sintaxis de Python
o keyword — Pruebas para palabras clave en Python
o tokenize — Conversor a tokens para código Python
o tabnanny — Detección de indentación ambigua
o pyclbr — Soporte para navegador de módulos Python
o py_compile` — Compila archivos fuente Python
o compileall — Bibliotecas de Python de compilación de bytes
o dis — Desensamblador para bytecode de Python
o pickletools — Herramientas para desarrolladores pickle
Servicios Específicos para MS Windows
o msvcrt — Rutinas útiles del entorno de ejecución MS VC++
o winreg — Acceso al registro de Windows
o winsound — Interfaz de reproducción de sonido para Windows
Servicios específicos de Unix
o posix — Las llamadas más comunes al sistema POSIX
o pwd — La base de datos de contraseñas
o grp — La base de datos de grupo
o termios —Control tty estilo POSIX
o tty — Funciones de control de terminal
o pty — Utilidades para Pseudo-terminal
o fcntl — Las llamadas a sistema fcntl y ioctl
o resource — Información sobre el uso de recursos
o syslog — Rutinas de la biblioteca syslog de Unix
Módulos Reemplazados
o aifc — Lee y escribe archivos AIFF y AIFC
o asynchat — Gestor de comandos/respuestas
en sockets asíncronos
o asyncore — controlador de socket asincrónico
o audioop — Manipula datos de audio sin procesar
o cgi — Soporte de Interfaz de Entrada Común (CGI)
o cgitb — Administrador traceback para scripts CGI.
o chunk — Lee los datos de los trozos de IFF
o crypt — Función para verificar contraseñas Unix
o imghdr — Determinar el tipo de imagen
o imp — Acceda a import internamente
o mailcap — Manejo de archivos Mailcap
o msilib — Leer y escribir archivos Microsoft Installer
o nis — Interfaz a Sun’s NIS (Páginas amarillas)
o nntplib — Protocolo de cliente NNTP
o optparse — Analizador sintáctico (parser) para opciones de
línea de comandos
o ossaudiodev — Acceso a dispositivos de audio compatibles con
OSS
o pipes — Interfaz para tuberías de shell
o smtpd — Servidor SMTP
o sndhdr — Determinar el tipo de archivo de sonido
o spwd — La base de datos de contraseñas ocultas
o sunau — Lectura y escritura de ficheros Sun AU
o telnetlib — cliente Telnet
o uu — Codifica y decodifica archivos UUEncode
o xdrlib — Codificar y decodificar datos XDR
Consideraciones de seguridad