Nuestro CookBook, en vías desarrollo. A este lugar uno recurre cada vez que se encuentra en la cocina de Python, cuchillo en mano y se da cuenta que a sus ingredientes le faltan el toque de un chef experto. Nuestra especialidad son las recetas autóctonas. ¿Platos magistrales que fallan al sazonar con acentos y eñes? ¿números que saben mal si no son previamente fritos en castellano? ¡Siga leyendo!.
Configuración del entorno python
Creando un nuevo proyecto python: Receta para crear un entorno de trabajo y un esqueleto mínimo para un nuevo proyecto Python.
Autocompletado en consola interactiva: Tip sobre cómo agregar autocompletado con tab en la consola interactiva imitando el comportamiento ipython.
Estructuras de datos
Expresiones regulares
Extraer todos los mails de un texto de un texto utilizando el módulo re.
Formatos, datos, números y conversiones
aLetras : Función que al recibir un número lo convierte a letras. Regresa su forma por extensión (ejemplo: 123 -> "CIENTO VEINTITRES").
reverse : Función que invierte los caracteres.
validar cuit: Función para validar un CUIT/CUIL estilo 00-00000000-0.
digito_verificador_modulo10: Función para generar el dígito verificador módulo 10.
Normalizar caracteres Unicode para hacer búsquedas en strings sin que se tengan en cuenta los caracteres latinos, como los acentos y la eñe.
Obtener Sensación Térmica: Calcular la Sensación Térmica o Temperatura Aparente.
Interceptar los prints : Sirve para hacer reemplazos en las strings que se van a imprimir, por ejemplo para agregar un timestamp.
Frameworks Web
Django
Test Formulario Con File Upload: Un ejemplo de como probar un formulario que tiene un campo para subir un archivo.
Obtener Clase Original Cuando Hay Herencia: Cuando usamos herencia de modelos, sí
bar
ybaz
son subclases defoo
, podemos hacer quefoo.objects.all()
devuelva instancias debar
obaz
dependiendo de cómo creamos el objeto originalmente.
Bottle
Hola Mundo: Una aplicación mínima que muestra el mensaje hola mundo.
Mini Galería de Imágenes: Una aplicación mínima que muestra una Galería de Imágenes Animada.
Interfaces gráficas
Gtk
Hola Mundo : Una ventana que muestra el mensaje hola mundo.
Hola Mundo con objetos : Una ventana que muestra el mensaje hola mundo programado utilizando orientación a objetos.
Entry : Una ventana que solicita un valor y luego lo muestra en una ventana aparte.
Entry solo números: Un ejemplo de cómo permitir el ingreso de solo números en un gtk.Entry.
HBox : Ejemplo que muestra cómo organizar elementos continuos horizontalmente.
VBox : Ejemplo que muestra cómo organizar elementos continuos verticalmente.
Grid : Ejemplo que muestra cómo organizar elementos en forma de grilla.
Button : Ejemplo que muestra cómo crear botones de diversas maneras.
Button Box : Ejemplo que muestra cómo crear botones y agruparlos en un contenedor.
Autocomplete : Ejemplo que muestra cómo crear un campo de texto con auto completado.
Dialog : Ejemplo para crear diálogos modales.
Menu : Ejemplo que muestra cómo crear un menú con distintos ítems.
Print no gtk : Ejemplo sobre cómo usar el diálogo de impresión de gtk en aplicaciones no gtk (que no usan el main loop de gtk).
Rich text: Ejemplo sobre cómo insertar texto con formato básico a un textview.
Confirm close: Ejemplo sobre cómo solicitar confirmación para el cierre de una ventana.
Multi Thread: Ejemplo de cómo manipular la GUI desde múltiples threads sin usar locks (con colas).
Multi thread 2: Ejemplo de cómo manipular la GUI usando múltiples threads.
Runner: Ejemplo de cómo correr funciones que demoran sin bloquear la ui y obtener los resultados en el thread de gtk.
Función Runner : Idem al anterior pero usando una función en lugar de un objeto.
Label con color: Ejemplo de cómo cambiar el color de un label sin usar pango markup.
Servidor XMLRPC Servidor XMLRPC dentro de un hilo gtk.
Stock items: Ejemplo que muestra todos los íconos stock de gtk con su respectivo nombre.
Webkit Editor: Ejemplo de cómo usar webkit para editar páginas HTML como si fuera un editor.
Status Icon: ejemplo de aplicación con ícono en el system tray.
Error Handler: Un ejemplo de capturar una excepción y mostrarla en un diálogo modal.
List View: Un ejemplo de cómo mostrar elementos en una.
Emulador Terminal: Un ejemplo de cómo hacer una terminal visual al estilo gnome-terminal.
Gtk + glade
GtkGladeHolaMundoOO : Una ventana que muestra el mensaje hola mundo programado utilizando orientación a objetos.
Qt
Multi Thread: Ejemplo de cómo manipular la GUI usando múltiples threads sin usar locks (con colas).
Imprimir Pagina: Ejemplo de cómo imprimir una página web a pdf.
Extraer Texto Recurso : Cómo extraer un archivo de texto embebido en el sistema de recursos de PyQt.
http://www.youtube.com/playlist?list=PLA955A8F9A95378CE : Python GUI Development with QT (videos 7 horas).
Pythoncard (wxPython)
PythonCard: Ejemplo de cómo hacer una aplicación de escritorio desde 0 (para principiantes).
Tkinter + ttk
Hola mundo: Una ventana que muestra el mensaje hola mundo (usando Tk themed widgets).
Window Icon: Una ventana con ícono (usando Tk).
Button Icon: Unos botones con íconos, ideal mini-toolbar (usando Tk).
Scroll Wheel: Usando la rueda de Scroll del ratón (usando Tk).
Online/Offline Icon: Ícono de On Line u Off Line simple (usando Tk).
Version Print: Obtener la versión de TK que se está usando.
Gtk on Tk: Usar temas de GTK en Tk (Hack).
Wizards: Crear un Wizard amigable de múltiples páginas (siguiente, siguiente, ... terminar).
Displace LCD 7 Segmentos: Crear un Widget de Canvas tipo Display LCD de 7 Segmentos.
Boton Grafico: Crear botones gráficos personalizados de 3 estados con TK.
Ventana Password: Crear una ventana de password que Vibra si la password es incorrecta.
Reloj Digital: Crear un Reloj Digital simple, trucando un Label.
Emails
Gmail : Cómo enviar emails usando Gmail como SMTP.
Email con Adjunto : Cómo enviar emails con adjuntos binarios.
Creación de ejecutables para Windows
Desde Linux : Cómo crear ejecutables para Windows desde Linux con Wine.
En Windows: Cómo crear ejecutables para Windows nativamente.
Hilos y concurrencia
Comunicar Threads Con Queue: Ejemplo sobre cómo comunicar y sincronizar threads usando colas.
Multiprocessing y threading: Ejemplo simple de cómo las apis de threading y multiprocessing son intercambiables.
Web
Servidor Simple: Ejemplo sobre cómo levantar un servidor http que sirva el contenido de un directorio local
Servidor Multithread: Ejemplo sobre cómo levantar un servidor http que sirva el contenido de un directorio local manejando los requests con threads
Xml
Xml a Diccionario: Este ejemplo muestra cómo convertir un string xml en un conjunto de diccionarios y listas anidadas, también provee de dos clases que permiten acceder a los diccionarios y listas como si fueran objetos.
SimpleXmlElement: Ejemplo de manejo de xml por elementos simples (simil php), permite leer y/o crear xml accediendo a los tags como si fueran atributos de un objeto.
Generación de Facturas en PDF: Ejemplo de cómo generar una factura gráficamente en PDF utilizando PyFpdf.
Modificación de Estilos en rst2pdf: Explicación de Roberto Alsina, sobre cómo modificar los estilos de diseño en rst2pdf.
Dbf
Leer y modificar Archivos .DBF: Ejemplo de cómo leer y modificar bases de datos en formato DBF.
Windows
Servidor Interfase C.O.M.: Ejemplo de cómo exponer objetos python a otros lenguajes (VB, VFP, etc.) vía interfase COM.
Llamar a librerías nativas con ctypes: Ejemplo de cómo usar ctypes para llamar a bibliotecas nativas usando estructuras C.
Python Internals
Locals De Una Función Que Lanzó Una Excepción: Ejemplo de cómo obtener las variables locales a la función que lanzó una excepción.
Psyco Speed Up: Cómo acelerar las aplicaciones con Psyco, si esta presente.
Mapeando Memoria: Cómo generar un mapa de la memoria con heapy.
Numpy, Scipy, Matplotlib
Histograma: Ejemplo sencillo de uso de la función hist.
Administración de Sistemas Operativos
Listar procesos: Cómo listar procesos multiplataforma.
Xdg-Sudo: El sudo Gráfico Universal, para Escritorios GTK/QT/whatever, inspirado en xdg-open de Linux.
Chequeo de Paquetes, APT, Linux: Chequear si un Programa está instalado, o no, y si existe en Linux.
Internet
Revisar conexion: Revisar si estamos conectados a internet conexión.
Obtener Bytes transferidos: Obtener la cantidad de datos transferidos en Bytes.
Ip publica : Obtener la dirección ip pública usando 3 líneas de Python.
Obtener ubicación geográfica: Obtener datos de la ubicación geográfica (Geo-Location) usando Python-Geoip.
Misceláneo
Matrix: Efecto "The Matrix" en línea de comandos, ideal CLI Screen Saver / Screen Lock.
Saber si libreria está instalada: Saber si N Libreria está instalada sin ingresar al intérprete de Python.
Python version check: Chequea la versión de Python, y sale o imprime error en función de eso.
Root check: Comprobar si somos root y actuar en función de eso, orientado a Linux.
Como bajar todos los buffers al disco: Best Practice para un programa en Linux para cerrarse.
Progressbar y urllib2: Cómo descargar algo de internet y mostrar una barrita de progreso.
Chequear distro versión: Chequea la versión de la Distribución Linux y actuar en función de eso.
Alarma precaria: Alarma mínima y básica de línea de comandos.
Keyboard leds demo: Cómo controlar los Leds del Teclado con Python.
Notificar dispositivos usb : Cómo detectar y notificar dispositivos USB en Linux.
Python en Apache OpenOffice / LibreOffice
Crypto
Blowfish con Blowfishpy: Cómo encriptar usando el modulo blowfish.py.
Divertidos
Nado sincronizado: ¡Bailarín de nado sincronizado en tu consola!.
Nado sincronizado disco: ¡Bailarín de nado sincronizado en tu consola con luces de colores!
Mini space invaders: Un mini space invaders usando caracteres.
Pasar reCAPTCHA: Consiste en hacer polling a una pestaña, y cuando aparezca "I'm not a robot", darle click a esa opción.