smaz – Compresor ASCII para pequeños textos

Los algoritmos convencionales de comprensión de datos son eficientes cuando de grandes cantidades se trata; pero, ¿qué hay de pequeños textos? Por ejemplo, mensajes los cuales queremos reducir su tamaño para enviarlos a través de una conexión TCP, o simplemente al momento de almacenarlos. >>> import zlib >>> a = "https://www.recursospython.com/" >>> b = zlib.compress(a)… Seguir leyendo

PyQt – Ícono en el área de notificaciones (System tray)

Versión: Python 2.x, 3.x y PyQt 4. Generalmente denominado system tray, se trata de un área específica de la pantalla en donde el sistema operativo permite a los programas enviar notificaciones. Como puede observarse en las imágenes, las notificaciones están asociadas al ícono de la aplicación que, además, puede incluir menús contextuales. Qt nos provee… Seguir leyendo

multiprocessing – Comunicación entre procesos

Versión: 2.6+, 3.x. El módulo estándar multiprocessing nos provee varios métodos para compartir información entre dos o más procesos, por lo que es necesario conocerlos a todos para decidir cuál se ajusta mejor a vuestras necesidades. Punto de partida Recordemos la forma en la que creamos un nuevo proceso. from multiprocessing import Process def f():… Seguir leyendo

Twisted – Arquitectura del framework de red más popular

Una traducción del artículo titulado The Architecture of Open Source Applications (Volume 2): Twisted, por Jessica McKellar. Twisted es un motor de red dirigido a eventos escrito en Python. Nació a comienzos del año 2000, cuando los desarrolladores de juegos en línea tenían a su disposición un pequeño repertorio de librerías escalables que solo corrían… Seguir leyendo

Generar archivo ejecutable con cx_Freeze, PyInstaller y py2exe

Generar archivo ejecutable con cx_Freeze, PyInstaller y py2exe

Actualizado el 09/10/2022. Python es un lenguaje interpretado. Eso implica que los usuarios de nuestras aplicaciones de consola o de escritorio (por ejemplo, aquellas desarrolladas con Tk (tkinter), PyQt/PySide, wxPython, etc.) deben tener Python instalado para correr los archivos .py. Sin embargo, existen múltiples herramientas que permiten crear archivos ejecutables (.exe, .app, etc.) para sistemas… Seguir leyendo

Actualizar contenido vía AJAX

Introducción AJAX (Asynchronous JavaScript and XML, JavaScript y XML asíncrono) es una técnica que consiste en realizar una petición al servidor web en paralelo utilizando código JavaScript. Es empleada para actualizar un determinado contenido en una página web sin necesidad de recargar ésta por completo, lo que provee mayor velocidad de transferencia al solicitar únicamente… Seguir leyendo

pymysql – Controlador de base de datos MySQL

Versión: 2.6+, 3.x. Introducción pymysql es un paquete para la interacción con bases de datos MySQL escrito completamente en Python, a diferencia de su principal «competidor», MySQLdb. Se presenta como una atractiva alternativa a este último y con razón, pues las ventajas son bastante relevantes. Corre en distintas implementaciones de Python: CPython, PyPy y IronPython…. Seguir leyendo

Palabras reservadas del lenguaje

Introducción Se trata de una pequeña guía con el objetivo de dar a conocer las palabras reservadas o keywords de Python, aquellos nombres que incorpora el lenguaje los cuales no pueden ser reemplazados por un valor determinado (funciones, clases, variables) o alterar su funcionamiento. En las versiones 2.x el lenguaje cuenta con 31 palabras reservadas:… Seguir leyendo