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!.
Contents
- Configuración del entorno python
- Estructuras de datos
- Expresiones regulares
- Formatos, datos, números y conversiones
- Frameworks Web
- Interfaces gráficas
- Emails
- Creación de ejecutables para Windows
- Hilos y concurrencia
- Web
- Xml
- Dbf
- Windows
- Python Internals
- Numpy, Scipy, Matplotlib
- Administración de Sistemas Operativos
- Internet
- Misceláneo
- Python en Apache OpenOffice / LibreOffice
- Crypto
- Divertidos
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.
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 y baz son subclases de foo, podemos hacer que foo.objects.all() devuelva instancias de bar o baz 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.
- Chequear Interfaces Internet Linux
- 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.
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.