Com automatitzar tasques amb scripts de Python

Com Automatitzar Tasques Amb Scripts De Python



Els programadors, programadors i desenvolupadors poden automatitzar els mètodes mitjançant scripts de Python, estalviant-los un temps i un esforç important mitjançant la realització d'operacions repetitives. Python és un llenguatge informàtic, com Java, que funciona bé en l'automatització de processos. En comparació amb altres idiomes, és relativament fàcil d'aprendre. També té una comunitat gran i vibrant i biblioteques integrades per automatitzar tasques particulars.

Instal·lant Python

Abans de començar a automatitzar les tasques, instal·leu Python a l'ordinador o al sistema. Per instal·lar Python, primer heu de visitar el lloc web oficial de Python. Assegureu-vos d'afegir Python al PATH del sistema durant la instal·lació.







  1. Seleccioneu un IDE o un editor de text

Es pot utilitzar qualsevol editor de text per crear els scripts de Python. Tot i així, els entorns de desenvolupament integrats (IDE), inclosos PyCharm, Visual Studio Code o Jupyter Notebook, poden millorar el procés amb eines com el ressaltat de sintaxi i la depuració. Tanmateix, estem utilitzant Notepad++ en aquest article.



  1. Determineu la tasca que cal automatitzar

Això podria implicar qualsevol cosa, des d'enviar correus electrònics massius, crear informes, descarregar fitxers i fer còpies de seguretat.



  1. Investiga les Biblioteques i les Funcions

Mireu les funcions i biblioteques que poden automatitzar les subtasques.





  1. Escriu l'script en Python

Aquí és on muntem totes les peces per crear un guió de treball complet.

  1. Tasca

Automatitzeu la generació d'informes a partir de les dades que s'emmagatzemen en un full de càlcul.



  1. Script Python

Podem utilitzar un script Python per llegir les dades d'un full de càlcul i generar informes en diversos formats com PDF, HTML o CSV. A més, l'script es pot utilitzar per distribuir automàticament els informes a les parts interessades per correu electrònic o Slack.

Es requereixen diversos passos per crear informes amb les dades del full de càlcul. Us donarem un script de Python simplificat que utilitza la biblioteca Pandas per llegir les dades d'un full de càlcul d'Excel i crear un informe CSV. Recordeu que podem basar-nos en aquest script per produir informes més complexos en altres formats i automatitzar el correu electrònic o les notificacions de Slack segons sigui necessari.

Instal·leu les biblioteques necessàries

Abans d'executar l'script, hem d'instal·lar la biblioteca Pandas si encara no està instal·lada:

pip instal·lar pandes openpyxl

El codi Python té una funció anomenada generate_report() que pren dos arguments: la ruta a un full de càlcul Excel que conté les dades del salari dels empleats i la ruta a un fitxer CSV on s'ha de desar l'informe.

La funció primer llegeix el full de càlcul d'Excel en un objecte Pandas DataFrame. A continuació, realitza el processament i anàlisi de dades segons sigui necessari. La suma de la columna 'Salari' es calcula en aquest cas per la funció.

A continuació, la funció crea una cadena d'informe que conté el salari total de tots els empleats. Finalment, la funció desa l'informe en un fitxer CSV.

La funció principal del codi especifica el fitxer d'entrada d'Excel i el fitxer d'informe de sortida i després crida a la funció generate_report() per crear l'informe.

GenReport.py:
importar pandes com pd_obj
def genera_informe ( emp_salary_data, emp_salary_report_file ) :
prova:
# Llegiu les dades del full de càlcul Excel
df_obj = pd_obj.read_excel ( dades_salari_emp )
# Realitzar el processament i anàlisi de dades segons sigui necessari
# Per simplificar, suposem que volem calcular la suma d'una columna
salari_total = df_obj [ 'Sou' ] .suma ( )
# Crea un informe
informe_salari = f 'Total de salaris de tots els empleats: {salary_total}'
# Deseu l'informe en un fitxer CSV
amb obert ( emp_salary_report_file, 'En' ) com csv_obj:
csv_obj.write ( informe_salari )

imprimir ( f 'Informe generat i desat a {emp_salary_report_file}' )
excepte Excepció com ex:
imprimir ( f 'S'ha produït un error: {str(e)}' )
si __nom__ == '__principal__' :
# Especifiqueu el fitxer Excel d'entrada i el fitxer d'informe de sortida
dades_salari_emp = 'input_empleee_data.xlsx'
emp_salary_report_file = 'suma_salari.csv'
# Truqueu a la funció generate_report per crear l'informe
generar_informe ( emp_salary_data, emp_salary_report_file )

Aquí teniu les dades del fitxer d'entrada dels empleats:

Prova el guió

Hem de provar àmpliament l'script després d'haver-lo escrit per assegurar-nos que funciona segons el previst. Utilitzem el compilador Python per provar el fitxer que automatitzem. En aquest cas, aquest fitxer genera i emmagatzema correctament l'informe en un fitxer CSV.

Programar o activar el script

Depenent dels requisits d'automatització, podem executar l'script Python de diverses maneres:

  • Execució manual: Executeu l'script manualment fent-lo en un IDE o mitjançant la línia d'ordres amb l'ordre següent: python GenerateReport.py .
  • Tasques programades (Windows): Podem executar l'script en moments o intervals específics mitjançant el Programador de tasques de Windows. Amb el servei de Windows, també podem invocar un esdeveniment específic.
  • Feines de Cron (Linux/macOS): Podem utilitzar treballs cron per programar l'execució de l'script en moments concrets en sistemes semblants a Unix.
  • Impulsat per esdeveniments: Podem activar el vostre script en resposta a esdeveniments específics, com ara canvis de fitxers, utilitzant biblioteques com watchdog o integrant-nos amb webhooks.

Automatització de la còpia de seguretat de MySQL mitjançant Python

Per automatitzar el procés de còpia de seguretat d'un servidor MySQL en una programació horària, podem utilitzar Python en combinació amb la biblioteca 'mysqlclient' per connectar-nos a la base de dades MySQL i crear còpies de seguretat, i podem utilitzar un programador de tasques com Cron (basat en Unix). sistemes) per executar l'script Python a intervals d'hora. El següent és un script de Python que podeu utilitzar per a aquest propòsit:

Pas 1: instal·leu les biblioteques necessàries

Hem d'instal·lar la biblioteca 'mysqlclient' per a la connectivitat MySQL. El podem instal·lar amb pip:

Pip instal·lar mysqlclient

pip instal·lar configparser

Pas 2: creeu un fitxer de configuració

Creeu un fitxer de text (per exemple, mysqlconfig.ini) per emmagatzemar la vostra informació de connexió MySQL, inclosa la contrasenya. Aquí teniu un exemple de com podria semblar el fitxer 'mysqlconfig.ini':

[ mysql ]
mySQL_DB_HOST = host local
mySQL_DB_USERNAME = arrel
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

Pas 3: verifiqueu el directori de paperera de MySQL :

L'ordre 'mysqldump' s'ha d'ubicar al directori bin de MySQL. Comproveu que el PATH del sistema inclogui el directori bin. Podem modificar la variable d'entorn PATH per incloure la ubicació de la paperera de MySQL.

A Windows: podem editar el PATH del sistema explorant 'Variables d'entorn' al menú 'Inici' i afegint el directori bin de MySQL (per exemple, C:\Program Files\MySQL\MySQL Server X.X\bin) a la variable PATH.

Pas 3: escriviu l'script de Python

Creeu un script de Python, per exemple, MySQLBackup.py, per automatitzar el procés de còpia de seguretat de MySQL. Substituïu els marcadors de posició amb els detalls de connexió de la base de dades i els camins de fitxers segons sigui necessari.

subprocés d'importació com sp
des de datahora importació datahora com dt_obj
importar configparser com mysql_confg
# Detalls de connexió a la base de dades MySQL
# Carregueu els detalls de connexió de MySQL des del fitxer de configuració
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Ajusteu el camí si cal
mySQL_DB_HOST = config_obj.get ( 'mysql' , 'mySQL_DB_HOST' )
mySQL_DB_USERNAME = config_obj.get ( 'mysql' , 'mySQL_DB_USERNAME' )
mySQL_DB_PASSWORD = config_obj.get ( 'mysql' , 'mySQL_DB_PASSWORD' )
mySQL_DB_DATABASE_NAME = config_obj.get ( 'mysql' , 'mySQL_DB_DATABASE_NAME' )
# Directori de còpia de seguretat
bk_dir = 'directori_còpia de seguretat/'
# Obteniu la data i l'hora actuals per al nom del fitxer de còpia de seguretat
marca de temps = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Definiu el nom del fitxer de còpia de seguretat
my_sql_bk = f 'backup_{timestamp_oj}.sql'
# Comandament MySQL dump
mysql_dump_cmd = f 'mysqldump -h {mySQL_DB_HOST} -u {mySQL_DB_USERNAME} -p{mySQL_DB_PASSWORD} {mySQL_DB_DATABASE_NAME} > {bk_dir}{my_sql_bk}'

prova:
# Executeu l'ordre MySQL dump per crear una còpia de seguretat
sp.run ( mysql_dump_cmd, closca = Cert, comprovar = Cert )
imprimir ( f 'Còpia de seguretat completada i desada com a '{my_sql_bk}' a '{bk_dir}'' )
excepte sp.CalledProcessError com És:
imprimir ( f 'Error en crear la còpia de seguretat: {str(e)}' )

Pas 4: prova i executa el codi

Pas 5: Programeu l'script amb el Programador de tasques de Windows

Ara, programem l'script Python perquè s'executi automàticament mitjançant el Programador de tasques de Windows:

Inicieu el Programador de tasques de Windows escrivint 'Programador de tasques' a la barra de cerca del menú 'Inici' o escrivint 'taskschd.msc' al quadre de diàleg 'Executar' (Win + R).

Seleccioneu 'Biblioteca del programador de tasques' al panell esquerre del programador de tasques.

Al panell dret, feu clic a 'Crea una tasca bàsica...' per obrir l''Auxiliar de creació de la tasca bàsica'.

Introduïu un nom i una descripció de la tasca. A continuació, premeu 'Següent'.

Trieu 'Diari' com a tipus d'activació (tot i que voleu executar-lo cada hora, això us permet establir un interval de repetició). A continuació, feu clic a 'Següent'.

Especifiqueu la data i l'hora d'inici de la tasca de còpia de seguretat.

Trieu 'Repetiu la tasca cada:' i configureu-lo en 1 hora.

Estableix la durada a '1 dia'. A continuació, feu clic a 'Següent'.

Trieu 'Iniciar un programa' i després premeu 'Següent'.

Navegueu i seleccioneu l'executable de Python (python.exe) fent clic a 'Examinar'.

Navegueu i seleccioneu l'executable de Python (python.exe) fent clic a 'Examinar'.

Introduïu el camí complet al vostre script de Python (per exemple, C:\path\to\mysql_backup.py) al camp 'Afegeix arguments'.

Introduïu el directori que conté el vostre script de Python (per exemple, C:\path\to\) al camp 'Comença a (opcional)'.

Feu clic a 'Següent'.

Reviseu la configuració de la tasca i feu clic a 'Finalitzar' per crear la tasca.

Conclusió

Podem crear scripts d'automatització fiables i eficaços que redueixin el temps lliure dels fluxos de treball i el dediquem a activitats més importants utilitzant les eines de Python i les seves millors pràctiques. Hem proporcionat alguns exemples que sens dubte us ajudaran a automatitzar les vostres tasques mitjançant scripts de Python.