Ir más lejos con Python
Introducción
A lo largo de este libro, hemos tratado de hacerle descubrir ciertos aspectos de Python, sobre todo con una voluntad pragmática: era necesario que fuera simple y rápido de implementar, para responder a las necesidades específicas y actuales.
Pero tan pronto como adquiera un poco más de experiencia con Python, y esto sucederá muy rápido, también puede ser interesante invertir un poco más en ciertos temas.
El propósito de este capítulo es presentar algunas librerías importantes en el mundo de Python, que podrían valer la pena invertir un poco.
El objetivo es mostrarle el alcance de lo que Python puede hacer.
Bottle y Flask
1. Bottle
Como ya hemos dicho anteriormente, Bottle es un framework (infraestructura de software) escrito en Python, cuya mayor ventaja es que no tiene dependencias, aparte de la librería estándar.
Por lo tanto, es suficiente con usar pip install bottle, y después copiar el siguiente ejemplo:
#archivo: bottle/b1.py
from bottle import route, run
@route('/hola')
def hola():
return "¡Hola mundo!"
run(host='localhost', port=8080, debug=True)
A continuación, debemos ejecutar este script y usar un navegador para ir a http://localhost:8080/hola, eso es todo.
Para descubrir el mundo de los frameworks web con el lenguaje Python, es ideal.
Bottle tiene:
-
un enrutador: que permite dirigir las consultas a las funciones adecuadas.
-
un motor de plantillas: es Jinja.
-
un servidor integrado: para la puesta a punto.
-
utilidades: para gestionar los diferentes escenarios, como cargar archivos, formularios, etc.
Tiene una micro aplicación para codificar. Este tipo de herramienta es perfecta para empezar.
2. Flask
Flask es el hermano gemelo de Bottle. ¿Por qué elegir uno u otro? No tengo ni idea.
Según algunos, Flask tendría más funciones, especialmente en el lado de ORM.
Este es el hola mundo de Flask. Honestamente, es casi lo mismo que Bottle.
#archivo: flask/f1.py ...
Herramientas
1. Watchdog
Este es el perro guardián de su sistema de archivos. Este módulo permite monitorizar lo que sucede en directorios y archivos, y reaccionar.
Incluso el primer programa de ejemplo es impresionante:
#archivo: watchdog/w1.py
import sys
import time
import logging
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO,
format='%(asctime)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
path = sys.argv[1] if len(sys.argv) > 1 else '.'
event_handler = LoggingEventHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Cree un directorio...
Interfaces de usuario
1. Interfaz gráfica: Tkinter
Desde sus inicios, Python ha integrado Tk/Tcl como una librería de gráficos. Esta interfaz gráfica llamada Tk (pronunciada como ticket), fue desarrollada originalmente para el lenguaje Tcl, pero siempre ha sido diseñada para ser compatible.
Como la librería Tk se comunicaba muy bien con el lenguaje C, se adaptó a muchos otros lenguajes, incluido Python. El objetivo inicial era proporcionar una herramienta independiente de la plataforma para administrar ventanas gráficas.
Tk/Tcl es ahora famoso por su aspecto anticuado, que en realidad es un legado de la interfaz gráfica X11 del siglo pasado.
Pero esta librería todavía está presente y solo tiene que escribir este script y ejecutarlo, para ver aparecer una pequeña ventana como esta:
HELLO TK
A continuación se muestra el script:
#archivo: tk/hello.py
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.hi_there = tk.Button(self)
...
Resumen
Esta descripción general rápida de las herramientas y los módulos de Python, se basa en la experiencia personal y profesional.
En un momento u otro, estos módulos se han utilizado en diferentes casos, a menudo para resolver pequeños problemas considerados no resolubles por el usuario medio o de una manera más pragmática, para simplificar la vida.