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.