Cargando...

Biblioteca Estándar de Python

La biblioteca estándar de Python es un conjunto extenso de módulos y paquetes incluidos con el intérprete de Python, diseñados para facilitar el desarrollo de software de manera eficiente y confiable. Permite a los desarrolladores realizar tareas comunes sin depender de librerías externas, abarcando desde manipulación de archivos, manejo de fechas y horas, expresiones regulares, hasta conexiones de red y procesamiento de datos. Los conceptos clave incluyen módulos (archivos de código reutilizables), paquetes (colecciones de módulos), sintaxis de Python, estructuras de datos integradas como listas, diccionarios y conjuntos, algoritmos eficientes y principios de programación orientada a objetos. Al dominar la biblioteca estándar, los desarrolladores pueden escribir código modular, legible y robusto, aplicar correctamente el manejo de errores, optimizar el rendimiento y construir aplicaciones backend escalables, confiables y fáciles de mantener.

Un ejemplo práctico es el análisis de registros de servidor para identificar y contar errores críticos. Utilizando los módulos os para la manipulación de archivos, datetime para gestionar marcas de tiempo, re para expresiones regulares, collections.Counter para contabilizar la frecuencia de errores y json para almacenar los resultados, se puede crear un flujo de trabajo eficiente. Cada módulo cumple un rol específico: os gestiona los archivos, datetime registra el momento del análisis, re identifica patrones de error, Counter resume la información y json permite persistirla en un formato estructurado. Esta técnica es aplicable en monitoreo de servidores, generación de reportes automáticos y análisis de eventos en backend, proporcionando insights valiosos y mejorando la toma de decisiones basada en datos operativos.

Example

python
PYTHON Code
import os
import datetime
import re
import json
from collections import Counter
from math import ceil

log_file = "server.log"
backup_file = f"backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.log"

try:
with open(log_file, 'r') as f:
lines = f.readlines()

error_lines = [line for line in lines if re.search(r'ERROR', line)]
error_count = Counter([line.split()[1] for line in error_lines])

with open("error_summary.json", 'w') as f:
json.dump(error_count, f, indent=4)

os.rename(log_file, backup_file)
backups_needed = ceil(len(lines) / 1000)
print(f"Número de copias de seguridad necesarias: {backups_needed}")

except FileNotFoundError as e:
print(f"Archivo no encontrado: {e}")
except Exception as e:
print(f"Error inesperado: {e}")

📊 Comprehensive Reference

Module Function Description Syntax Example Notes
os rename Renombrar archivos os.rename(src,dst) os.rename("old.txt","new\.txt") Operaciones de archivos
sys exit Salir del intérprete sys.exit(\[status]) sys.exit(1) Finaliza la ejecución del programa
math ceil Redondear hacia arriba math.ceil(x) math.ceil(3.4) Operaciones matemáticas
math sqrt Raíz cuadrada math.sqrt(x) math.sqrt(16) Operaciones matemáticas
datetime now Fecha y hora actual datetime.datetime.now() datetime.datetime.now() Manejo de fecha/hora
datetime strftime Formato de fecha datetime.strftime(format) datetime.datetime.now().strftime("%Y-%m-%d") Formateo
re search Búsqueda con expresión regular re.search(pattern,string) re.search(r"ERROR","log") Análisis de texto
re sub Reemplazo con expresión regular re.sub(pattern,repl,string) re.sub(r"\d+","", "abc123") Limpieza de datos
json dump Guardar JSON json.dump(obj,fp) json.dump(data,f) Serialización
json load Cargar JSON json.load(fp) data=json.load(f) Deserialización
collections Counter Contar elementos collections.Counter(iterable) Counter(\["a","b","a"]) Análisis de datos
itertools chain Combinar iterables itertools.chain(*iterables) list(chain(\[1,2],\[3,4])) Iteración eficiente
functools reduce Reducir secuencia functools.reduce(func,seq) reduce(lambda x,y:x+y,\[1,2,3]) Programación funcional
random randint Número aleatorio random.randint(a,b) random.randint(1,10) Aleatoriedad
heapq heappush Insertar en heap heapq.heappush(heap,item) heappush(heap,5) Cola de prioridad
heapq heappop Eliminar mínimo de heap heapq.heappop(heap) heappop(heap) Cola de prioridad
threading Thread Crear hilo threading.Thread(target=func) threading.Thread(target=my_func) Concurrencia
subprocess run Ejecutar comando externo subprocess.run(args) subprocess.run(\["ls","-l"]) Llamadas al sistema
time sleep Pausar ejecución time.sleep(seconds) time.sleep(2) Control de tiempo
pathlib Path Manejo de rutas Path("file.txt") Path("data.txt").exists() Rutas de archivos
uuid uuid4 Generar ID único uuid.uuid4() uuid.uuid4() Identificadores únicos
base64 b64encode Codificar Base64 base64.b64encode(data) base64.b64encode(b"data") Codificación
hashlib sha256 Generar hash SHA-256 hashlib.sha256(data) hashlib.sha256(b"data").hexdigest() Seguridad
copy deepcopy Copia profunda copy.deepcopy(obj) copy.deepcopy(mylist) Evitar referencias
gzip open Abrir archivos gzip gzip.open(filename) gzip.open("file.gz") Compresión
zipfile ZipFile Manejo de archivos zip zipfile.ZipFile(file) with ZipFile("a.zip") as z: pass Compresión
configparser ConfigParser Leer configuración configparser.ConfigParser() config.read("config.ini") Configuraciones
email message_from_string Parsear email email.message_from_string(string) msg=email.message_from_string(raw) Email
urllib request.urlopen Abrir URL urllib.request.urlopen(url) urllib.request.urlopen("[http://example.com") HTTP](http://example.com%22%29
socket socket Crear socket socket.socket() s=socket.socket() Red
logging basicConfig Configurar logs logging.basicConfig(level) logging.basicConfig(level=logging.INFO) Logs
argparse ArgumentParser Argumentos CLI argparse.ArgumentParser() parser=argparse.ArgumentParser() Línea de comandos
shutil copy Copiar archivos shutil.copy(src,dst) shutil.copy("a.txt","b.txt") Archivos
pprint pprint Impresión bonita pprint.pprint(obj) pprint.pprint(data) Visualización
statistics mean Media statistics.mean(data) statistics.mean(\[1,2,3]) Estadísticas
statistics median Mediana statistics.median(data) statistics.median(\[1,2,3]) Estadísticas
queue Queue Cola thread-safe queue.Queue() q=queue.Queue() Concurrencia
enum Enum Crear enumeraciones class Color(Enum): RED=1 Color.RED Constantes
typing List Anotación de tipo from typing import List def f(x:List): Type hints
decimal Decimal Decimal preciso decimal.Decimal("0.1") Decimal("0.1") Cálculos precisos
fractions Fraction Fracciones fractions.Fraction(a,b) Fraction(1,3) Cálculos precisos
statistics stdev Desviación estándar statistics.stdev(data) statistics.stdev(\[1,2,3]) Estadísticas
bisect insort Insertar en lista ordenada bisect.insort(list,item) bisect.insort(a,5) Ordenación
xml etree.ElementTree Parsear XML ET.parse(file) ET.parse("file.xml") Datos estructurados
pickle dump Serialización binaria pickle.dump(obj,fp) pickle.dump(obj,f) Guardar datos
pickle load Deserialización pickle.load(fp) obj=pickle.load(f) Recuperar datos
shelve open Diccionario persistente shelve.open(file) db=shelve.open("db") Almacenamiento
tokenize generate_tokens Tokenización tokenize.generate_tokens(readline) tokens=list(tokenize.generate_tokens(f.readline)) Análisis de código
pdb set_trace Punto de interrupción pdb.set_trace() pdb.set_trace() Depuración
inspect getmembers Miembros del objeto inspect.getmembers(obj) inspect.getmembers(obj) Reflexión
socketserver TCPServer Servidor TCP socketserver.TCPServer((host,port),handler) TCPServer(("0.0.0.0",8000),Handler) Servidor personalizado
csv reader Leer CSV csv.reader(file) csv.reader(f) Datos tabulares
csv writer Escribir CSV csv.writer(file) csv.writer(f) Datos tabulares
tarfile open Archivo TAR tarfile.open(file) tarfile.open("archive.tar") Archivado
wave open Archivo WAV wave.open(file) wave.open("audio.wav") Audio
audioop add Operaciones de audio audioop.add(fragment1,fragment2,2) audioop.add(b1,b2,2) Audio
gettext gettext Localización gettext.gettext("text") _("Hola") Internacionalización
xmlrpc ServerProxy Cliente XML-RPC xmlrpc.client.ServerProxy(url) ServerProxy("[http://localhost:8000") RPC](http://localhost:8000%22%29
asyncio run Ejecutar coroutine asyncio.run(coro) asyncio.run(main()) Asíncrono
contextlib contextmanager Gestor de contexto @contextmanager @contextmanager def cm(): yield Gestión de recursos

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Test Your Knowledge

Prueba tu conocimiento de la biblioteca estándar de Python

3
Preguntas
🎯
70%
Para Aprobar
♾️
Tiempo
🔄
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior