Por qué automatizamos nuestras cosas
La automatización de nuestras cosas puede hacernos la vida más fácil. Tiene muchas ventajas, pero a continuación se detallan algunas ventajas importantes de la automatización
- La primera y más importante ventaja de la automatización es ahorrar tiempo.
- Podemos aumentar la eficiencia de nuestro trabajo (i.mi. más trabajo en menos tiempo)
- Se puede mejorar la precisión de las tareas programadas.
- Al automatizar las cosas, la interacción humana con el sistema se reduce, por lo que las cosas aburridas se automatizan.
Automatización con Python
Hay muchos lenguajes de secuencias de comandos como bash, perl, etc. para automatizar procesos manuales, pero Python proporciona un entorno factible para manejar nuestras necesidades. Es más fácil automatizar cosas usando el lenguaje de programación Python que en cualquier otro lenguaje. Python tiene muchos módulos de automatización (i.mi. subproceso, shutil, os, pyautogui, selenio etc.) que se puede utilizar en automatización. Veremos algunos casos de uso de cómo automatizamos nuestras cosas.
Módulos de automatización en Python
Aquí discutiremos algunos módulos de automatización en Python como SO, SUBPROCESS, SHUTIL, DATETIME, SELENIUM etc. Estos módulos se utilizan para ejecutar comandos del sistema y también se pueden utilizar para manipular directorios del sistema. Estos módulos tienen funciones integradas que facilitan la realización de tareas en el sistema.
SO y SUBPROCESO los módulos se utilizan para casi el mismo propósito. Algunas de las funciones integradas de estos módulos se detallan a continuación
- chdir () \\ Para cambiar de directorio
- mkdir () \\ Para crear un nuevo directorio
- rename () \\ Para cambiar el nombre de un archivo
- listdir () \\ Para listar todos los archivos y directorios
- getcwd () \\ Para conocer nuestro directorio actual
- system () \\ Para ejecutar comandos del sistema
- call () \\ Para ejecutar comandos del sistema
similar SHUTIL El módulo tiene muchas funciones que permiten interactuar con el sistema. Algunas funciones de este módulo se dan a continuación
- move () \\ Para mover un archivo
- copy () \\ Para copiar un archivo
- rmtree () \\ Para eliminar todos los archivos en el directorio y subdirectorios
FECHA Y HORA El módulo se utiliza para encontrar la fecha y hora actuales. También se usa para encontrar el día de la semana y muchas otras cosas. Podemos programar nuestra tarea en cualquier momento y fecha usando este módulo. En los siguientes casos de uso, lo usaremos para encontrar solo la fecha y hora actuales.
- fecha y hora.today () \\ Para encontrar la fecha actual y Hora
SELENIO El módulo se utiliza para automatizar el proceso de inicio de sesión de nuestro sitio web. Podemos iniciar sesión automáticamente en nuestro sitio web y actualizarlo usando SELENIO módulo. SELENIO tiene muchas funciones integradas que se utilizan para realizar diferentes tareas relacionadas con los navegadores.
Cómo ejecutar comandos del sistema en Python
Podemos ejecutar comandos del sistema en Python usando SO y SUBPROCESO módulos. A continuación se muestra la sintaxis para ejecutar el comando del sistema en python
os.sistema ('comando')O
subproceso.llamar ('comando')Por ejemplo, si queremos listar todos los archivos y directorios en el directorio actual, ejecutaremos el siguiente comando en el script de Python
os.sistema ('ls')O
subproceso.llamar ('ls')Cómo automatizar cosas con Python
Python se puede utilizar para automatizar muchos tipos de tareas diarias que pueden ahorrar tiempo. Aquí veremos algunos casos de uso de la automatización de nuestras cosas. Discutiremos la organización de los archivos en el directorio de descarga y mantendremos una copia de seguridad de nuestros archivos importantes.
Organización de archivos en el directorio de descarga
Cuando descargamos cualquier tipo de archivo, por defecto entra en el directorio de descargas. Cuando tenemos que encontrar un archivo, puede causar problemas, ya que hay muchos tipos de archivos mezclados en el directorio de descarga. Ahora escribiremos un script en Python para automatizar el sistema de tal manera que diferentes tipos de archivos (p.gramo. mp3, png, xls, etc.) va en diferentes directorios. El código completo se proporciona a continuación. Este código verificará cada tipo de archivo uno por uno y luego creará el directorio correspondiente. Después de esto, moverá el archivo a directorios relacionados (p.g ... el archivo mp3 irá al directorio 'Audio').
importar sistema operativoimportar shutil
importar fecha y hora
mientras que 1:
# calcular la hora, minuto y segundo actuales
hoy = fecha y hora.fecha y hora.hoy()
today = str (hoy)
current_hour = hoy [11:13]
current_minute = hoy [14:16]
current_sec = hoy [17:19]
# asegurándose de que el sistema organizará los archivos a las 08:00
si current_hour == '08' y current_minute == '00' y current_sec == '00':
# cambio de directorio para descargar
os.chdir ("ruta_a_directorio_descarga")
# guardar todos los nombres de archivos en una lista
archivos = os.listdir (sistema operativo.getcwd ())
para el nombre de archivo en archivos:
# ignorando directorios
si no os.camino.isdir (nombre de archivo):
# seleccionar archivos mp3
Si '.mp3 'en el nombre de archivo:
# creando directorio 'Audio' si no existe
si no os.camino.existe ('Audio'):
os.mkdir ('Audio')
# moviendo archivo en el directorio 'Audio'
shutil.mover (nombre de archivo, 'Audio')
# seleccionar archivos mp4
elif '.mp4 'en el nombre de archivo:
# crear directorio 'Video' si no existe
si no os.camino.existe ('Video'):
os.mkdir ('Video')
# moviendo archivo en el directorio 'Video'
shutil.mover (nombre de archivo, 'Video')
# seleccionar archivos pdf
elif '.pdf 'en el nombre de archivo:
# creando directorio 'PDF' si no existe
si no os.camino.existe ('PDF'):
os.mkdir ('PDF')
# mover archivo en directorio PDF
shutil.mover (nombre de archivo, 'PDF')
# seleccionar archivos jpg y png
elif '.jpg 'en nombre de archivo o'.png 'en el nombre de archivo:
# crear el directorio 'Imágenes' si no existe
si no os.camino.existe ('Imágenes'):
os.mkdir ('Imágenes')
# moviendo archivo en el directorio 'Imágenes'
shutil.mover (nombre de archivo, 'Imágenes')
# seleccionar archivos de Excel
elif '.xls 'en nombre de archivo:
# creando directorio 'Excel' si no existe
si no os.camino.existe ('Excel'):
os.mkdir ('Excel')
# moviendo archivo en el directorio 'Excel'
shutil.mover (nombre de archivo, 'Excel')
# seleccionando '.archivos ppt '
elif '.ppt 'en nombre de archivo:
# crear directorio 'Power Point' si no existe
si no os.camino.existe ('Power Point'):
os.mkdir ('Power Point')
# mover archivo en el directorio 'Power Point'
shutil.mover (nombre de archivo, 'Power Point')
# seleccionando '.archivos de documentos
elif '.docx 'en el nombre de archivo:
# creando el directorio 'Archivo de Word' si no existe
si no os.camino.existe ('Archivo de Word'):
os.mkdir ('Archivo de Word')
# mover archivo en el directorio 'Archivo de Word'
shutil.mover (nombre de archivo, 'Archivo de Word')
Primero que nada, guardaremos la hora actual en diferentes variables luego comprobaremos si la hora es exacta '08: 00 'o no. El programa verificará la hora todos los días y ejecutará el código si la hora es '08: 00 ', luego se ejecutará el código principal. En el código principal, primero cambiamos nuestro directorio al directorio de descargas. Aquí guardaremos todos los nombres de archivo en una lista llamada archivos. Ahora leeremos todos los archivos uno por uno y filtraremos solo los archivos. Ignoraremos los directorios ya que solo organizaremos archivos.
Ahora comprobaremos cada tipo de archivo si es mp3, mp4, jpg, pdf, xls, ppt y docx o no. Después de verificar cada tipo de archivo, verificaremos si el directorio correspondiente existe o no. Por ejemplo, si el archivo es mp3, comprobaremos que el directorio 'Audio' existe o no. Si el directorio correspondiente no existe, crearemos el directorio. Después de crear el directorio, moveremos nuestro archivo en ese directorio. De esta forma todos los archivos se pueden mover a sus directorios correspondientes.
Este código se ejecutará continuamente y continuará verificando si la hora es '08: 00 'o no. Todos los días a las '08: 00 ', los archivos se organizarán automáticamente. Este código se puede programar para que se ejecute cada vez que inicie su sistema usando crontab. Crontab se ha explicado a continuación.
Realice una copia de seguridad automática de sus archivos mediante los comandos del sistema
Tiene algunos archivos importantes en un directorio relacionado con su proyecto y de alguna manera se eliminan algunos archivos. Entonces qué harás? En este tipo de situación, es importante crear una copia de seguridad de sus archivos. Pero crear una copia de seguridad de sus archivos es realmente aburrido y requiere mucho tiempo. Esta tarea se puede realizar automáticamente escribiendo un script de Python. A continuación se muestra el código para realizar esta tarea. Este código convertirá cada archivo en un archivo zip y luego creará un directorio de respaldo si no existe. Después de esto, el archivo zip se moverá al directorio de respaldo.
importar sistema operativoimportar fecha y hora
mientras que 1:
# ahorrando tiempo actual
hoy = fecha y hora.fecha y hora.hoy()
today = str (hoy)
current_hour = hoy [11:13]
current_minute = hoy [14:16]
current_sec = hoy [17:19]
# asegurándose de que el código se ejecute exactamente a las '08: 00 '
si current_hour == '08' y current_minute == '00' y current_sec == '00':
# cambio de directorio a documentos
os.chdir ('ruta_a_directorio_documentos')
# guardar todos los nombres de archivos en una lista
archivos = os.listdir (sistema operativo.getcwd ())
# creando directorio de 'respaldo' si no existe
si no os.camino.existe ('copia de seguridad'):
os.mkdir ('copia de seguridad')
para archivo en archivos:
# ignorando directorios
si no os.camino.isdir (archivo):
# definir un nombre de archivo sin espacios
nombre_original = archivo
archivo = archivo.separar(" ")
file_name = "".unirse (archivo)
# definiendo zip_filename
zip_file_name = file_name + ".Código Postal"
# comprobar si el archivo ya existe en el directorio de respaldo o no
si no os.camino.existe ('copia de seguridad /' + nombre_archivo_zip):
# cambiando el nombre del archivo sin espacios
os.renombrar (nombre_original, nombre_archivo)
# creando un archivo zip usando el comando del sistema
os.sistema ("zip" + nombre_archivo_zip + "" + nombre_archivo)
#mover el archivo zip en el directorio de respaldo usando el comando del sistema
os.sistema ("mv" + nombre_archivo_zip + "copia de seguridad")
# cambiando el nombre del archivo a su nombre original
os.renombrar (nombre_archivo, nombre_original)
En primer lugar guardaremos la hora actual en variables y luego comprobaremos si la hora es '08: 00 'o no. Si el tiempo es exacto '08: 00 ', entonces se ejecutará el script principal. En el código principal, en primer lugar, vamos al directorio en el que están presentes los archivos importantes. Luego guardamos todos los nombres de los archivos en una lista. Ahora crearemos un directorio 'backup' en el que guardaremos todos los archivos zip. Si este directorio ya existe, ignoraremos este. Ahora leeremos cada archivo y comprobaremos si son archivos o no. Los directorios se ignorarán y los archivos se considerarán.
Para crear un archivo zip de un archivo usando el comando del sistema, primero cambiaremos el nombre de este archivo sin espacios, ya que un nombre de archivo con espacios se considera un archivo diferente en cada espacio, cuando se ejecuta en un comando del sistema usando un script de Python. El nombre del archivo se guarda en una variable 'original_filename' y el archivo se renombra sin espacios. Ahora definiremos el nombre del archivo zip igual que el nombre del archivo con la extensión '.Código Postal'.
Después de esto, usaremos el comando del sistema 'zip' para comprimir este archivo y luego lo moveremos en el directorio de 'copia de seguridad' usando el comando del sistema 'mv'. Luego volveremos a renombrar el archivo con su nombre original con espacios en él. Este código se programará en el sistema para que se ejecute automáticamente cada vez que inicie su sistema con crontab.
Automatizar la ejecución de un script usando Crontab
Hemos escrito los scripts de automatización arriba. Ahora queremos ejecutar estos scripts automáticamente cada vez que nuestro sistema se reinicia. Para hacerlo, agregamos nuestro script en crontab. Para agregar una tarea en crontab, siga los siguientes pasos
En primer lugar, escriba el siguiente comando para editar el archivo crontab
ubuntu @ ubuntu: ~ $ crontab -e-La bandera significa abrir crontab en modo de edición. Después de abrir el archivo crontab ahora agregaremos nuestra tarea en este archivo usando el siguiente comando al final del archivo
@reboot python / ruta / a / python / scriptEsto ejecutará el script de Python automáticamente cada vez que inicie su sistema.
Conclusión
En este artículo, se ha explicado la importancia de la automatización en la vida práctica. Al leer este artículo, tendrá una idea de cómo puede automatizar las tareas simples que realiza todos los días. Definitivamente debería buscar más bibliotecas y funciones de Python para una mejor y más fácil automatización.