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.

Además de la biblioteca estándar, existe un colección creciente de
varios miles de componentes (abarcando módulos o programas
individuales, paquetes o *frameworks* completos de desarrollo de
aplicaciones), disponibles en el Python Package Index.

* Introducción

  * Notas sobre la disponibilidad

* Funciones Built-in

* Constantes incorporadas

  * Constantes agregadas por el módulo "site"

* Tipos Integrados

  * Evaluar como valor verdadero/falso

  * Operaciones booleanas --- "and", "or", "not"

  * Comparaciones

  * Tipos numéricos --- "int", "float", "complex"

  * Tipos de iteradores

  * Tipos secuencia --- "list", "tuple", "range"

  * Cadenas de caracteres --- "str"

  * Tipos de secuencias binarias --- "bytes", "bytearray" y
    "memoryview"

  * Conjuntos --- "set", "frozenset"

  * Tipos Mapa --- "dict"

  * Tipos Gestores de Contexto

  * Otros tipos predefinidos

  * Atributos especiales

* Excepciones incorporadas

  * Clases base

  * Excepciones específicas

  * Advertencias

  * Jerarquía de excepción

* Servicios de procesamiento de texto

  * "string" --- Operaciones comunes de cadena de caracteres

  * "re" --- Operaciones con expresiones regulares

  * "difflib" --- Funciones auxiliares para calcular deltas

  * "textwrap" --- Envoltura y relleno de texto

  * "unicodedata" --- Base de datos Unicode

  * "stringprep" --- Preparación de cadenas de Internet

  * "readline" --- Interfaz readline de GNU

  * "rlcompleter" --- Función de completado para GNU readline

* Servicios de datos binarios

  * "struct" --- Interpreta bytes como paquetes de datos binarios

  * "codecs" --- Registro de códec y clases base

* Tipos de datos

  * "datetime" --- Tipos básicos de fecha y hora

  * "calendar" --- Funciones generales relacionadas con el calendario

  * "collections" --- Tipos de datos contenedor

  * "collections.abc" --- Clases Base Abstractas para Contenedores

  * "heapq" --- Algoritmo de colas montículos (*heap*)

  * "bisect" --- Algoritmo de bisección de arreglos

  * "array" --- Arreglos eficientes de valores numéricos

  * "weakref" --- Referencias débiles

  * "types" --- Creación de tipos dinámicos y nombres para tipos
    integrados

  * "copy" --- Operaciones de copia superficial y profunda

  * "pprint" --- Impresión bonita de datos

  * "reprlib" --- Implementación "repr()" alternativa

  * "enum" — Soporte para enumeraciones

* Módulos numéricos y matemáticos

  * "numbers" --- Clase base abstracta numérica

  * "math" --- Funciones matemáticas

  * "cmath" -- Función matemática para números complejos

  * "decimal" --- Decimal fixed point and floating point arithmetic

  * "fractions" --- Números racionales

  * "random" ---Generar números pseudoaleatorios

  * "statistics" --- Funciones de estadística matemática

* Módulos de programación funcional

  * "itertools" --- Funciones que crean iteradores para bucles
    eficientes

  * "functools" --- Funciones de orden superior y operaciones sobre
    objetos invocables

  * "operator" --- Operadores estándar como funciones

* Acceso a archivos y directorios

  * "pathlib" --- Object-oriented filesystem paths

  * "os.path" --- Manipulaciones comunes de nombre de ruta

  * "fileinput" --- Iterar sobre líneas de múltiples flujos de entrada

  * "stat" --- Interpretación de los resultados de "stat()"

  * "filecmp"--- Comparaciones de Archivo y Directorio

  * "tempfile" --- Generar archivos y directorios temporales

  * "glob" --- Expansión del patrón de nombres de ruta de estilo Unix

  * "fnmatch" --- Coincidencia de patrones de nombre de archivos Unix

  * "linecache" — Acceso aleatorio a líneas de texto

  * "shutil" --- Operaciones de archivos de alto nivel

* Persistencia de datos

  * "pickle" --- Serialización de objetos Python

  * "copyreg" --- Registrar funciones de soporte de "pickle"

  * "shelve" --- Persistencia de objetos de Python

  * "marshal" --- Serialización interna de objetos Python

  * "dbm" --- Interfaces para "bases de datos" de Unix

  * "sqlite3" --- DB-API 2.0 interfaz para bases de datos SQLite

* Compresión de datos y archivado

  * "zlib" --- Compresión compatible con **gzip**

  * "gzip" --- Soporte para archivos **gzip**

  * "bz2" --- Soporte para compresión **bzip2**

  * "lzma" --- Compresión utilizando el algoritmo LZMA

  * "zipfile" --- Trabajar con archivos ZIP

  * "tarfile" --- Leer y escribir archivos tar

* Formatos de archivo

  * "csv" --- Lectura y escritura de archivos CSV

  * "configparser" --- *Parser* para archivos de configuración

  * "netrc" --- procesado del fichero netrc

  * "xdrlib" --- Codificar y decodificar datos XDR

  * "plistlib" --- Genera y analiza archivos ".plist" de Mac OS X

* Servicios Criptográficos

  * "hashlib" --- Hashes seguros y resúmenes de mensajes

  * "hmac" --- *Hash* con clave para autenticación de mensajes

  * "secrets" --- Genera números aleatorios seguros para trabajar con
    secretos criptográficos

* Servicios genéricos del sistema operativo

  * "os" --- Interfaces misceláneas del sistema operativo

  * "io" --- Herramientas principales para trabajar con *streams*

  * "time" --- Tiempo de acceso y conversiones

  * "argparse" — Analizador sintáctico (*Parser*) para las opciones,
    argumentos y sub-comandos de la línea de comandos

  * "getopt" --- Analizador de estilo C para opciones de línea de
    comando

  * "logging" --- Logging facility for Python

  * "logging.config" --- Configuración de registro

  * "logging.handlers" --- Gestores de *logging*

  * "getpass" --- Entrada de contraseña portátil

  * "curses" --- Manejo de terminales para pantallas de celdas de
    caracteres

  * "curses.textpad"--- Widget de entrada de texto para programas de
    curses

  * "curses.ascii" --- Utilidades para los caracteres ASCII

  * "curses.panel" --- Una extensión de pila de panel para curses

  * "platform" --- Acceso a los datos identificativos de la plataforma
    subyacente

  * "errno" --- Símbolos estándar del sistema errno

  * "ctypes" --- Una biblioteca de funciones foráneas para Python

* Ejecución concurrente

  * "threading" --- Paralelismo basado en hilos

  * "multiprocessing" --- Paralelismo basado en procesos

  * "multiprocessing.shared_memory" ---  Proporciona memoria
    compartida para acceso directo a través de procesos

  * El paquete "concurrent"

  * "concurrent.futures" --- Lanzamiento de tareas paralelas

  * "subprocess" --- Gestión de subprocesos

  * "sched" --- Eventos del planificador

  * "queue" --- clase de cola sincronizada

  * "contextvars" --- Variables de Contexto

  * "_thread" --- API de bajo nivel para manejo de hilos

  * "_dummy_thread"--- Remplazo directo para el módulo "_thread"

  * "dummy_threading" --- Reemplazo directo para el modulo "threading"

* Comunicación en redes y entre procesos

  * "asyncio" --- E/S Asíncrona

  * "socket" --- Low-level networking interface

  * "ssl" --- TLS/SSL wrapper for socket objects

  * "select" --- Esperando la finalización de E/S

  * "selectors" — Multiplexación de E/S de alto nivel

  * "asyncore" --- controlador de socket asincrónico

  * "asynchat" --- Asynchronous socket command/response handler

  * "signal" --- Set handlers for asynchronous events

  * "mmap" --- Soporte de archivos mapeados en memoria

* Manejo de Datos de Internet

  * "email" --- Un paquete de manejo de correo electrónico y MIME

  * "json" --- Codificador y decodificador JSON

  * "mailcap" --- Manejo de archivos Mailcap

  * "mailbox" --- Manipular buzones de correo en varios formatos

  * "mimetypes" --- Mapea nombres de archivo a tipos MIME

  * "base64" --- Codificaciones de datos Base16, Base32, Base64, y
    Base85

  * "binhex" --- Codificar y decodificar archivos binhex4

  * "binascii" --- Convertir entre binario y ASCII

  * "quopri" --- Codificar y decodificar datos MIME imprimibles entre
    comillas

  * "uu" --- Codifica y decodifica archivos UUEncode

* Herramientas Para Procesar Formatos de Marcado Estructurado

  * "html" --- Compatibilidad con el Lenguaje de marcado de hipertexto

  * "html.parser" --- Analizador simple de HTML y XHTML

  * "html.entities" --- Definiciones de entidades generales HTML

  * Módulos de procesamiento XML

  * "xml.etree.ElementTree" --- The ElementTree XML API

  * "xml.dom" --- El *API* del Modelo de Objetos del Documento

  * "xml.dom.minidom" --- Implementación mínima del DOM

  * "xml.dom.pulldom" --- Soporte para la construcción parcial de
    árboles DOM

  * "XML.sax"--- Soporte para analizadores SAX2

  * "xml.sax.handler" --- Base classes for SAX handlers

  * "xml.sax.saxutils" --- Utilidades SAX

  * "xml.sax.xmlreader" --- Interfaz para analizadores XML

  * "xml.parsers.expat" --- Análisis rápido XML usando Expat

* Protocolos y soporte de Internet

  * "webbrowser" --- Cómodo controlador de navegador web

  * "cgi" --- Soporte de Interfaz de Entrada Común (CGI)

  * "cgitb" --- Administrador *traceback* para scripts CGI.

  * "wsgiref" --- Utilidades WSGI e implementación de referencia

  * "urllib" --- URL módulos de manipulación

  * "urllib.request" --- Biblioteca extensible para abrir URLs

  * "urllib.response" --- Clases de respuesta usadas por urllib

  * "urllib.parse" --- Analiza URL en componentes

  * "urllib.error" --- Clases de excepción lanzadas por urllib.request

  * "urllib.robotparser" ---  Analizador para robots.txt

  * "http" --- Módulos HTTP

  * "http.client" --- Cliente de protocolo HTTP

  * "ftplib" --- cliente de protocolo FTP

  * "poplib" --- Cliente de protocolo POP3

  * "imaplib" --- Protocolo del cliente IMAP4

  * "nntplib" — Protocolo de cliente NNTP

  * "smtplib" --- Cliente de protocolo SMTP

  * "smtpd" --- Servidor SMTP

  * "telnetlib" --- cliente Telnet

  * "uuid" --- objetos UUID según **RFC 4122**

  * "socketserver" --- Un framework para servidores de red

  * "http.server" --- Servidores HTTP

  * "http.cookies" --- Gestión del estado HTTP

  * "http.cookiejar" --- Cookie handling for HTTP clients

  * "xmlrpc" --- Módulos XMLRPC para cliente y servidor

  * "xmlrpc.client" --- acceso cliente XML-RPC

  * "xmlrpc.server" --- Servidores básicos XML-RPC

  * "ipaddress" --- Biblioteca de manipulación IPv4/IPv6

* Servicios Multimedia

  * "audioop" --- Manipula datos de audio sin procesar

  * "aifc" — Lee y escribe archivos AIFF y AIFC

  * "sunau" --- Lectura y escritura de ficheros Sun AU

  * "wave" --- Leer y escribir archivos WAV

  * "chunk" --- Lee los datos de los trozos de IFF

  * "colorsys" --- Conversiones entre sistemas de color

  * :mod:'imghdr' --- Determinar el tipo de imagen

  * "sndhdr" --- Determinar el tipo de archivo de sonido

  * "ossaudiodev" --- Acceso a dispositivos de audio compatibles con
    OSS

* Internacionalización

  * "gettext" --- Servicios de internacionalización multilingües

  * "locale" --- Servicios de internacionalización

* *Frameworks* de programa

  * "turtle" --- Gráficos con *Turtle*

  * "cmd" — Soporte para intérpretes orientados a línea de comandos

  * "shlex" --- Análisis léxico simple

* Interfaces gráficas de usuario con Tk

  * "tkinter" --- Interface de Python para Tcl/Tk

  * "tkinter.ttk" --- Tk widgets temáticos

  * "tkinter.tix" --- Ampliación de widgets para Tk

  * "tkinter.scrolledtext" --- Widget de texto desplazado

  * IDLE

  * Otros paquetes de interfaz gráfica de usuario

* Herramientas de desarrollo

  * "typing" --- Soporte para *type hints*

  * "pydoc" --- Generador de documentación y Sistema de ayuda en línea

  * "doctest" --- Test interactive Python examples

  * "unittest" --- Unit testing framework

  * "unittest.mock" --- Biblioteca de objetos simulados

  * "unittest.mock" --- getting started

  * 2to3 - Traducción de código Python 2 a 3

  * "test" --- Paquete de pruebas de regresión para Python

  * "test.support" --- Utilidades para el conjunto de pruebas de
    Python

  * "test.support.script_helper" ---Utilidades para las pruebas de
    ejecución de Python

* Depuración y perfilado

  * Tabla de auditoría de eventos

  * "bdb" --- Framework de depuración

  * "faulthandler" --- Volcar el rastreo de Python

  * "pdb" --- El Depurador de Python

  * Los perfiladores de Python

  * "timeit" --- Mide el tiempo de ejecución de pequeños fragmentos de
    código

  * "trace" --- Rastrear la ejecución de la declaración de Python

  * "tracemalloc"--- Rastrea la asignación de memoria

* Software Packaging and Distribution

  * "distutils" --- Creación e instalación de módulos Python

  * "ensurepip" --- Ejecutando el instalador "pip"

  * "venv" --- Creación de entornos virtuales

  * "zipapp" ---  Gestiona archivadores zip ejecutables de Python

* Servicios en tiempo de ejecución de Python

  * "sys" --- Parámetros y funciones específicos del sistema

  * "sysconfig" --- Proporciona acceso a la información de
    configuración de Python

  * "builtins" --- Objetos incorporados

  * "__main__" --- Entorno de script del nivel superior

  * "warnings" --- Control de advertencias

  * "dataclasses" --- Clases de datos

  * "contextlib" --- Utilidades para declaraciones de contexto "with"

  * "abc" --- Clases de Base Abstracta

  * "atexit" --- Gestores de Salida

  * "traceback" --- Imprimir o recuperar un seguimiento de pila

  * "__future__" --- Definiciones de declaraciones futuras

  * "gc" --- Interfaz del recolector de basura

  * "inspect" --- Inspeccionar objetos vivos

  * "site" --- Enlace (*hook*) de configuración específico del sitio

* Intérpretes de Python personalizados

  * "code" --- Clases básicas de intérpretes

  * "codeop" --- Compile Python code

* Importando módulos

  * "zipimport" --- Importar módulos desde archivos zip

  * "pkgutil" --- Utilidad de extensión de paquete

  * "modulefinder" --- Buscar módulos usados por un script

  * "runpy" --- Localización y ejecución de módulos *Python*

  * "importlib" --- The implementation of "import"

  * Using "importlib.metadata"

* Servicios del lenguaje Python

  * "parser" --- Acceder a árboles de análisis sintáctico de Python

  * "ast" --- Árboles de sintaxis abstracta

  * "symtable" --- Acceso a la tabla de símbolos del compilador

  * "symbol" --- Constantes utilizadas con árboles de análisis de
    Python

  * "token"--- Constantes usadas con árboles de sintaxis de Python

  * "keyword" --- Pruebas para palabras clave en Python

  * "tokenize" --- Conversor a tokens para código Python

  * "tabnanny" --- Detección de indentación ambigua

  * "pyclbr" --- Soporte para navegador de módulos Python

  * "py_compile`" --- Compila archivos fuente Python

  * "compileall" --- Bibliotecas de Python de compilación de bytes

  * "dis" --- Desensamblador para bytecode de Python

  * "pickletools" --- Herramientas para desarrolladores pickle

* Servicios varios

  * "formatter" --- Formateo de salida genérica

* Servicios Específicos para MS Windows

  * "msilib" --- Leer y escribir archivos *Microsoft Installer*

  * "msvcrt" --- Rutinas útiles del entorno de ejecución MS VC++

  * "winreg" --- Acceso al registro de Windows

  * :mod:'winsound' --- Interfaz de reproducción de sonido para
    Windows

* Servicios específicos de Unix

  * "posix" --- Las llamadas más comunes al sistema POSIX

  * "pwd" --- La base de datos de contraseñas

  * "spwd" --- La base de datos de contraseñas ocultas

  * "grp" --- La base de datos de grupo

  * "crypt" --- Función para verificar contraseñas Unix

  * "termios" ---Control tty estilo POSIX

  * "tty" --- Funciones de control de terminal

  * "pty" --- Utilidades para Pseudo-terminal

  * "fcntl" --- Las llamadas a sistema "fcntl" y "ioctl"

  * "pipes" --- Interfaz para tuberías de shell

  * "resource" --- Información sobre el uso de recursos

  * "nis" — Interfaz a Sun's NIS (Páginas amarillas)

  * "syslog" --- Rutinas de la biblioteca syslog de Unix

* Módulos Reemplazados

  * "optparse" --- Analizador sintáctico (parser) para opciones de
    línea de comandos

  * "imp" --- Acceda a *import* internamente

* Módulos no documentados

  * Módulos específicos por plataforma
