¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Scripting Python en Linux
  3. Ir más lejos con Python
Extrait - Scripting Python en Linux Desarrolle sus herramientas de sistema
Extractos del libro
Scripting Python en Linux Desarrolle sus herramientas de sistema Volver a la página de compra del libro

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:

images/17ei01.png

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.