Automatización de Tareas con Python y la librería win32
Creación de un Software de Automatización de Tareas.
Hola amigos de Mi Diario Python, les doy nuevamente las bienvenidas a nuestra bonita comunidad. Mi nombre es Luis y como siempre es un placer estar escribiendo esto para todos ustedes.
En el articulo de hoy, tocaremos un tema cuya importancia en el área de la programación es mucha. La Programación Orientada a Objetos.
Mi objetivo en este articulo es guiarlos y mostrarles los pasos para crear un pequeño software que nos permita automatizar funciones de nuestro ordenador. Con esto me refiero a que podremos realizar un script el cual pueda mover el mouse por si solo. También crearemos funciones para el teclado. ¿Que te parece?.
Todos sabemos que existen muchas librerías que realizan estas funciones. Pero realizar el nuestro, nos ayudara a fortalecer nuestro conocimientos, y por supuesto, no hay nada más satisfactorio que utilizar nuestras propias herramientas.
Antes de comenzar quisiera aclarar algunas cosas: Lo primero es que los pasos y funciones que realizaremos hoy estarán orientadas a usuario que utilizan Windows, esto se debe a que haremos uso de la librería "win32", la cual nos permite interactuar con el sistema operativo. Otra cosa quiero aclarar, es que en este articulo no profundizare muchos en los detalles de la Programación Orientada a Objeto ni a principios básicos del Lenguaje Python ya que en este blog tenemos muy buenos artículos para Aprender Python, así que te sugiero que le eches un vistazo.
Win32
Win32 es una librería para Python que nos permite interactuar y manipular funciones de sistema operativo Windows. Tiene muchos métodos y funciones que debes conocer. Win32 tiene funciones para manipular archivos, conexiones de redes, seguridad del sistema y muchas otras más.
Puedes adquirir win32 ingresando al siguiente enlace: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/.
También puedes utilizar el siguiente comando: pip install pypiwin32
Win32 sera el único recurso externo que utilizaremos el día de hoy. Win32 tiene un modulo llamado "Win32api", el cual tiene una gran variedad de funciones y métodos, desde obtener la fecha local del equipo, hasta definir variables de entorno. Esta librería nos permite conocer a fondo el equipo en el que se trabaja, incluyendo conocer la posición del cursor, definir su posición y saber el estado del teclado. Así que por esta razón la utilizaremos para realizar el proyecto de hoy.
WindowsBot
WindowsBot sera el nombre del proyecto ¿Que les parece?.
Perfecto, ya podemos empezar con el proyecto. Lo primero que haremos sera abrir nuestro editor de texto preferido y crear un nuevo archivo. Yo trabajare de la siguiente manera: Creare una carpeta llamada WindowsBot y en ella creare un nuevo directorio llamado "winbot", en este directorio escribiré los archivos de nuestro nuevo modulo. Así que yo trabajaré en "WindowsBot/winbot", es aquí en donde escribiremos nuestras clases y métodos, luego podremos crear scripts de prueba que importen los archivos de este directorio.
No se si me explique bien, pero si tienes alguna duda sabes que puedes dejar tu comentario.
Muy bien, si tienen experiencia con lo de la Programación Orientada a Objetos sabrán que si un modulo sin el archivo "init.py" no es un modulo. ¿Que es el archivo "init"? Este script, se ejecutara cada vez que el modulo sea importado desde un script, así que pueden verlo como una función que se ejecutara cada vez que se use "import winbot" en un script de python.
# winbot/__init__.py
print("Modulo importado exitosamente")
# Le indicamos que al moemnto de importar el modulo winbot, queremos que se importe la clase MouseBot de windows.py
# Esto nos evitara tener que escribir el nombre del archivo "windows.py" cada vez que utilizemos la clase MouseBot
from .windows import MouseBot
MouseBot se ha inicializado con exito ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'click', 'getPosition', 'move', 'scroll']
Como pueden observar, se nos muestra un mensaje indicándonos que la clase MouseBot se ha inicializado con éxito. Luego se nos muestran los métodos que posee nuestra clase. Por desgracia no puedo mostrarles lo que la clase es capaz de hacer, pero ustedes mismos pueden realizar este proyecto y ver el resultado directamente desde tu computador.
Bueno, creo que dejare el articulo hasta aquí y lo finalizaremos luego.
Puedes ver mejor los códigos realizados el día de hoy ingresando al siguiente enlace: https://github.com/LuisAlejandroSalcedo/Creaci-n-de-un-Software-de-Automatizaci-n-de-Tareas.
¿Crees que le hace falta lago al modulo? ¿Que le cambiarías? Quiero que me dejes tu comentario dándonos tu opinión.
No te pierdas el próximo articulo en el cual acabaremos el proyecto.
Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.
Deja una respuesta