Cum să automatizezi sarcinile cu scripturi Python

Cum Sa Automatizezi Sarcinile Cu Scripturi Python



Programatorii, programatorii și dezvoltatorii pot automatiza metodele folosind scripturi Python, economisindu-le un timp și efort important prin efectuarea de operațiuni repetitive. Python este un limbaj de computer, precum Java, care funcționează bine în automatizarea proceselor. În comparație cu alte limbi, este relativ ușor de învățat. De asemenea, are o comunitate mare și vibrantă și biblioteci încorporate pentru a automatiza anumite sarcini.

Instalarea Python

Înainte de a începe să automatizați sarcinile, instalați Python pe computer sau sistem. Pentru a instala Python, trebuie mai întâi să vizitați site-ul web oficial Python. Asigurați-vă că adăugați Python la PATH-ul sistemului în timpul instalării.







  1. Selectați un IDE sau un editor de text

Orice editor de text poate fi folosit pentru a construi scripturile Python. Cu toate acestea, mediile de dezvoltare integrate (IDE), inclusiv PyCharm, Visual Studio Code sau Jupyter Notebook, pot îmbunătăți procesul cu instrumente precum evidențierea sintaxelor și depanarea. Cu toate acestea, folosim Notepad++ în acest articol.



  1. Determinați sarcina care trebuie automatizată

Acest lucru ar putea implica orice, de la trimiterea de e-mailuri în bloc, crearea de rapoarte, descărcarea fișierelor și realizarea de copii de siguranță.



  1. Cercetați Bibliotecile și Funcțiile

Uitați-vă la funcțiile și bibliotecile care pot automatiza subsarcinile.





  1. Scrieți scriptul în Python

Aici asamblam toate piesele pentru a crea un scenariu de lucru complet.

  1. Sarcină

Automatizați generarea de rapoarte din datele care sunt stocate într-o foaie de calcul.



  1. Script Python

Putem folosi un script Python pentru a citi datele dintr-o foaie de calcul și a genera rapoarte într-o varietate de formate, cum ar fi PDF, HTML sau CSV. În plus, scriptul poate fi folosit pentru a distribui automat rapoartele către părțile interesate prin e-mail sau Slack.

Este nevoie de mai mulți pași pentru a crea rapoarte folosind datele din foaia de calcul. Vă vom oferi un script Python simplificat care utilizează biblioteca Pandas pentru a citi datele dintr-o foaie de calcul Excel și pentru a crea un raport CSV. Amintiți-vă că putem construi pe acest script pentru a produce rapoarte mai complexe în alte formate și pentru a automatiza notificările prin e-mail sau Slack, după cum este necesar.

Instalați bibliotecile necesare

Înainte de a rula scriptul, trebuie să instalăm biblioteca Pandas dacă nu este încă instalată:

pip instalare panda openpyxl

Codul Python are o funcție numită generate_report() care ia două argumente: calea către o foaie de calcul Excel care conține datele despre salariul angajaților și calea către un fișier CSV unde trebuie salvat raportul.

Funcția citește mai întâi foaia de calcul Excel într-un obiect Pandas DataFrame. Apoi, efectuează prelucrarea și analiza datelor după cum este necesar. Suma coloanei „Salariu” este calculată în acest caz de funcție.

Apoi, funcția creează un șir de raport care conține salariul total al tuturor angajaților. În cele din urmă, funcția salvează raportul într-un fișier CSV.

Funcția principală a codului specifică fișierul Excel de intrare și fișierul raport de ieșire și apoi apelează funcția generate_report() pentru a crea raportul.

GenReport.py:
importa panda la fel de pd_obj
def generate_report ( emp_salary_data, emp_salary_report_file ) :
încerca:
# Citiți datele din foaia de calcul Excel
df_obj = pd_obj.read_excel ( emp_salary_data )
# Efectuați procesarea și analiza datelor după cum este necesar
# Pentru simplitate, să presupunem că vrem să calculăm suma unei coloane
salariu_total = df_obj [ 'Salariu' ] .sumă ( )
# Creați un raport
raport_salari = f „Totalul salariilor tuturor angajaților: {salary_total}”
# Salvați raportul într-un fișier CSV
cu deschis ( emp_salary_report_file, 'În' ) la fel de csv_obj:
csv_obj.write ( raport_salariu )

imprimare ( f „Raport generat și salvat în {emp_salary_report_file}” )
cu excepția excepției la fel de ex:
imprimare ( f „A apărut o eroare: {str(e)}” )
dacă __nume__ == '__principal__' :
# Specificați fișierul Excel de intrare și fișierul raport de ieșire
emp_salary_data = „input_employee_data.xlsx”
emp_salary_report_file = „salary_sum.csv”
# Apelați funcția generate_report pentru a crea raportul
generează raport ( emp_salary_data, emp_salary_report_file )

Iată datele din fișierul angajatului de intrare:

Testați Scriptul

Trebuie să testăm extensiv scriptul după ce este scris pentru a ne asigura că funcționează conform intenției. Folosim compilatorul Python pentru a testa fișierul pe care îl automatizăm. În acest caz, acest fișier generează și stochează cu succes raportul într-un fișier CSV.

Programați sau declanșați scriptul

În funcție de cerințele de automatizare, putem executa scriptul Python în diferite moduri:

  • Execuție manuală: Rulați scriptul manual, executându-l într-un IDE sau prin linia de comandă folosind următoarea comandă: python GenerateReport.py .
  • Sarcini programate (Windows): Putem rula scriptul la anumite momente sau intervale folosind Windows Task Scheduler. Folosind Serviciul Windows, putem, de asemenea, invoca un anumit eveniment.
  • Jobs Cron (Linux/macOS): Putem folosi joburi cron pentru a programa scriptul să ruleze la anumite momente pe sisteme asemănătoare Unix.
  • Bazat pe evenimente: Vă putem declanșa scriptul ca răspuns la evenimente specifice, cum ar fi modificări de fișiere, folosind biblioteci precum watchdog sau prin integrarea cu webhook-uri.

Automatizarea backup-ului MySQL folosind Python

Pentru a automatiza procesul de backup al unui server MySQL pe un program orar, putem folosi Python în combinație cu biblioteca „mysqlclient” pentru a vă conecta la baza de date MySQL și a crea copii de rezervă și putem folosi un planificator de activități precum Cron (pe Unix). sisteme) pentru a rula scriptul Python la intervale de oră. Următorul este un script Python pe care îl puteți utiliza în acest scop:

Pasul 1: Instalați bibliotecile necesare

Trebuie să instalăm biblioteca „mysqlclient” pentru conectivitate MySQL. Îl putem instala folosind pip:

Pip instalare mysqlclient

pip instalare configparser

Pasul 2: Creați un fișier de configurare

Creați un fișier text (de exemplu, mysqlconfig.ini) pentru a stoca informațiile dvs. de conexiune MySQL, inclusiv parola. Iată un exemplu despre cum ar putea arăta fișierul „mysqlconfig.ini”:

[ mysql ]
mySQL_DB_HOST = gazdă locală
mySQL_DB_USERNAME = rădăcină
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

Pasul 3: Verificați directorul MySQL Bin :

Comanda „mysqldump” ar trebui să fie localizată în directorul MySQL bin. Verificați dacă PATH-ul sistemului include directorul bin. Putem modifica variabila de mediu PATH pentru a include locația bin MySQL.

Pe Windows: putem edita PATH-ul sistemului explorând „Variabilele de mediu” în meniul „Start” și adăugând directorul MySQL bin (de exemplu, C:\Program Files\MySQL\MySQL Server X.X\bin) la variabila PATH.

Pasul 3: Scrieți scriptul Python

Creați un script Python, de exemplu, MySQLBackup.py, pentru a automatiza procesul de backup MySQL. Înlocuiți substituenții cu detaliile conexiunii la baza de date și căile fișierelor, după cum este necesar.

subproces de import la fel de sp
de la datetime import datetime la fel de dt_obj
import configurator la fel de mysql_confg
# Detalii de conectare la baza de date MySQL
# Încărcați detaliile conexiunii MySQL din fișierul de configurare
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( „mysqlconfig.ini” ) # Ajustați calea dacă este necesar
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” )
# Director de rezervă
bk_dir = 'director_backup/'
# Obțineți data și ora curente pentru numele fișierului de rezervă
timestamps = dt_obj.now ( ) .strftime ( „%Y%m%d%H%M%S” )
# Definiți numele fișierului de rezervă
my_sql_bk = f „backup_{timestamp_oj}.sql”
# Comanda 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}”

încerca:
# Executați comanda MySQL dump pentru a crea o copie de rezervă
sp.run ( mysql_dump_cmd, coajă = Adevărat, Verifica =Adevărat )
imprimare ( f „Backup finalizat și salvat ca „{my_sql_bk}” în „{bk_dir}”” )
cu excepția sp.CalledProcessError la fel de Este:
imprimare ( f „Eroare la crearea copiei de rezervă: {str(e)}” )

Pasul 4: Testați și executați codul

Pasul 5: Programați scriptul cu Windows Task Scheduler

Acum, să programăm scriptul Python să ruleze automat utilizând Windows Task Scheduler:

Lansați Windows Task Scheduler tastând „Task Scheduler” în bara de căutare a meniului „Start” sau tastând „taskschd.msc” în caseta de dialog „Run” (Win + R).

Selectați „Biblioteca Task Scheduler” din panoul din stânga al Task Scheduler.

În panoul din dreapta, faceți clic pe „Creați sarcină de bază…” pentru a deschide „Asistentul pentru crearea sarcinii de bază”.

Introduceți un nume și o descriere a sarcinii. Apoi, apăsați „Următorul”.

Alegeți „Zilnic” ca tip de declanșare (chiar dacă doriți să îl rulați din oră, acest lucru vă permite să setați un interval de repetare). Apoi, faceți clic pe „Următorul”.

Specificați data și ora de începere pentru sarcina de rezervă.

Alegeți „Repetați sarcina la fiecare:” și setați-o la 1 oră.

Setați durata la „1 zi”. Apoi, faceți clic pe „Următorul”.

Alegeți „Start a program” și apoi apăsați „Next”.

Răsfoiți și selectați executabilul Python (python.exe) făcând clic pe „Răsfoiți”.

Răsfoiți și selectați executabilul Python (python.exe) făcând clic pe „Răsfoiți”.

Introduceți calea completă către scriptul dvs. Python (de exemplu, C:\path\to\mysql_backup.py) în câmpul „Adăugați argumente”.

Introduceți directorul care conține scriptul dvs. Python (de exemplu, C:\path\to\) în câmpul „Începe în (opțional)”.

Faceți clic pe „Următorul”.

Examinați setările sarcinii și faceți clic pe „Finish” pentru a crea sarcina.

Concluzie

Putem construi scripturi de automatizare fiabile și eficiente care reduc timpul liber din fluxurile de lucru și îl dedicăm unor activități mai importante utilizând instrumentele Python și cele mai bune practici ale acestuia. Am oferit câteva exemple care vă vor ajuta cu siguranță să vă automatizați sarcinile folosind scripturi Python.