Kako automatizirati zadatke s Python skriptama

Kako Automatizirati Zadatke S Python Skriptama



Programeri, koderi i razvojni programeri mogu automatizirati metode pomoću Python skripti, štedeći im važno vrijeme i trud izvođenjem operacija koje se ponavljaju. Python je računalni jezik, poput Jave, koji se dobro ponaša u automatizaciji procesa. U usporedbi s drugim jezicima, relativno ga je lako naučiti. Također ima veliku, živahnu zajednicu i ugrađene biblioteke za automatizaciju određenih zadataka.

Instaliranje Pythona

Prije nego počnete automatizirati zadatke, instalirajte Python na računalo ili sustav. Da biste instalirali Python, prvo morate posjetiti službenu web stranicu Pythona. Obavezno dodajte Python u PATH sustava tijekom instalacije.







  1. Odaberite IDE ili uređivač teksta

Bilo koji uređivač teksta može se koristiti za izradu Python skripti. Ipak, integrirana razvojna okruženja (IDE), uključujući PyCharm, Visual Studio Code ili Jupyter Notebook, mogu poboljšati proces alatima kao što su isticanje sintakse i otklanjanje pogrešaka. Međutim, u ovom članku koristimo Notepad++.



  1. Odredite zadatak koji treba automatizirati

To može uključivati ​​bilo što, od slanja masovne e-pošte, izrade izvješća, preuzimanja datoteka i izrade sigurnosnih kopija.



  1. Istražite knjižnice i funkcije

Pogledajte funkcije i biblioteke koje mogu automatizirati podzadatke.





  1. Napišite skriptu u Pythonu

Ovo je mjesto gdje sastavljamo sve dijelove kako bismo stvorili kompletan radni scenarij.

  1. Zadatak

Automatizirajte generiranje izvješća iz podataka koji su pohranjeni u proračunskoj tablici.



  1. Python skripta

Možemo koristiti Python skriptu za čitanje podataka iz proračunske tablice i generiranje izvješća u raznim formatima kao što su PDF, HTML ili CSV. Osim toga, skripta se može koristiti za automatsku distribuciju izvješća dionicima putem e-pošte ili Slacka.

Potrebno je više koraka za izradu izvješća pomoću podataka proračunske tablice. Dat ćemo vam pojednostavljenu Python skriptu koja koristi biblioteku Pandas za čitanje podataka iz Excel proračunske tablice i izradu CSV izvješća. Imajte na umu da možemo graditi na ovoj skripti za izradu složenijih izvješća u drugim formatima i automatizirati e-poštu ili Slack obavijesti prema potrebi.

Instalirajte potrebne biblioteke

Prije pokretanja skripte moramo instalirati biblioteku Pandas ako još nije instalirana:

pip instalirati pande openpyxl

Python kod ima funkciju nazvanu generate_report() koja uzima dva argumenta: put do proračunske tablice programa Excel koja sadrži podatke o plaćama zaposlenika i put do CSV datoteke gdje bi se izvješće trebalo spremiti.

Funkcija prvo čita Excel proračunsku tablicu u Pandas DataFrame objekt. Zatim po potrebi vrši obradu i analizu podataka. Zbroj stupca 'Plaća' u ovom slučaju izračunava funkcija.

Zatim funkcija stvara niz izvješća koji sadrži ukupnu plaću svih zaposlenika. Na kraju, funkcija sprema izvješće u CSV datoteku.

Glavna funkcija koda navodi ulaznu Excel datoteku i izlaznu datoteku izvješća, a zatim poziva funkciju generate_report() za izradu izvješća.

GenReport.py:
uvoz pande kao pd_obj
def generiraj_izvješće ( emp_plaća_podaci, emp_plaća_izvješće_datoteka ) :
probati:
# Čitajte podatke iz Excel proračunske tablice
df_obj = pd_obj.read_excel ( emp_podaci_plaće )
# Izvršite obradu i analizu podataka prema potrebi
# Radi jednostavnosti, pretpostavimo da želimo izračunati zbroj stupca
ukupna_plata = df_obj [ 'Plaća' ] .iznos ( )
# Napravite izvješće
izvješće o plaćama = f 'Ukupno plaća svih zaposlenika: {salary_total}'
# Spremite izvješće u CSV datoteku
s otvorenim ( emp_plaća_izvješće_datoteka, 'U' ) kao csv_obj:
csv_obj.pisati ( izvješće_plaće )

ispisati ( f 'Izvješće generirano i spremljeno u {emp_salary_report_file}' )
osim Iznimke kao npr.:
ispisati ( f 'Došlo je do pogreške: {str(e)}' )
ako __ime__ == '__glavni__' :
# Odredite ulaznu Excel datoteku i izlaznu datoteku izvješća
emp_podaci_plaće = 'input_employee_data.xlsx'
emp_plaća_izvješće_datoteka = 'plaća_sum.csv'
# Pozovite funkciju generate_report za izradu izvješća
generirati_izvješće ( emp_plaća_podaci, emp_plaća_izvješće_datoteka )

Ovo su podaci u ulaznoj datoteci zaposlenika:

Testirajte skriptu

Moramo opsežno testirati skriptu nakon što je napisana kako bismo bili sigurni da funkcionira kako je predviđeno. Koristimo Python kompajler za testiranje datoteke koju automatiziramo. U ovom slučaju ova datoteka uspješno generira i pohranjuje izvješće u CSV datoteku.

Zakažite ili pokrenite skriptu

Ovisno o zahtjevima automatizacije, Python skriptu možemo izvršiti na različite načine:

  • Ručno izvršenje: Pokrenite skriptu ručno izvodeći je u IDE-u ili putem naredbenog retka pomoću sljedeće naredbe: python GenerateReport.py .
  • Planirani zadaci (Windows): Skriptu možemo pokrenuti u određenim vremenima ili intervalima koristeći Windows Task Scheduler. Pomoću Windows servisa također možemo pozvati određeni događaj.
  • Cron poslovi (Linux/macOS): Možemo koristiti cron poslove za planiranje pokretanja skripte u određeno vrijeme na sustavima sličnim Unixu.
  • Na temelju događaja: Možemo pokrenuti vašu skriptu kao odgovor na određene događaje, kao što su promjene datoteka, korištenje biblioteka kao što je watchdog ili integracija s web-dojavnicima.

Automatiziranje MySQL sigurnosne kopije pomoću Pythona

Kako bismo automatizirali proces sigurnosnog kopiranja MySQL poslužitelja prema satnom rasporedu, možemo koristiti Python u kombinaciji s bibliotekom 'mysqlclient' za povezivanje s MySQL bazom podataka i stvaranje sigurnosnih kopija, a možemo koristiti i planer zadataka kao što je Cron (na bazi Unixa sustavi) za pokretanje Python skripte u intervalima od sat vremena. Slijedi Python skripta koju možete koristiti za ovu svrhu:

Korak 1: Instalirajte potrebne biblioteke

Moramo instalirati biblioteku “mysqlclient” za MySQL povezivanje. Možemo ga instalirati koristeći pip:

Pip instalirati mysqlclient

pip instalirati parser konfiguracije

Korak 2: Stvorite konfiguracijsku datoteku

Napravite tekstualnu datoteku (npr. mysqlconfig.ini) za pohranjivanje informacija o vezi s MySQL-om, uključujući lozinku. Evo primjera kako bi datoteka 'mysqlconfig.ini' mogla izgledati:

[ mysql ]
mySQL_DB_HOST = lokalni host
mySQL_DB_USERNAME = root
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_podaci

Korak 3: Provjerite MySQL Bin direktorij :

Naredba “mysqldump” trebala bi se nalaziti u direktoriju MySQL bin. Provjerite uključuje li PATH sustava direktorij bin. Možemo modificirati varijablu okruženja PATH da uključi lokaciju MySQL spremnika.

U sustavu Windows: PATH sustava možemo urediti istraživanjem 'Varijable okruženja' u izborniku 'Start' i dodavanjem direktorija MySQL bin (npr. C:\Program Files\MySQL\MySQL Server X.X\bin) u varijablu PATH.

Korak 3: Napišite Python skriptu

Napravite Python skriptu, npr. MySQLBackup.py, da biste automatizirali proces MySQL sigurnosne kopije. Zamijenite rezervirana mjesta detaljima veze s bazom podataka i stazama datoteka prema potrebi.

podproces uvoza kao sp
from datetime import datumvrijeme kao dt_obj
uvoz konfiguracijskog parsera kao mysql_confg
# Pojedinosti povezivanja s MySQL bazom podataka
# Učitaj detalje MySQL veze iz konfiguracijske datoteke
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Prilagodite putanju ako je potrebno
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' )
# Rezervni direktorij
bk_dir = 'sigurnosni_direktorij/'
# Dobijte trenutni datum i vrijeme za naziv datoteke sigurnosne kopije
vremenske oznake = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Definirajte naziv datoteke sigurnosne kopije
moj_sql_bk = f 'backup_{timestamp_oj}.sql'
# MySQL dump naredba
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}'

probati:
# Izvršite naredbu MySQL dump za stvaranje sigurnosne kopije
sp.trčati ( mysql_dump_cmd, ljuska = Istina, ček =Istina )
ispisati ( f 'Sigurnosno kopiranje dovršeno i spremljeno kao '{my_sql_bk}' u '{bk_dir}'' )
osim sp.CalledProcessError kao To je:
ispisati ( f 'Pogreška pri izradi sigurnosne kopije: {str(e)}' )

Korak 4: Testirajte i izvršite kod

Korak 5: Zakažite skriptu pomoću Windows planera zadataka

Sada zakažimo automatsko pokretanje Python skripte pomoću Windows Task Scheduler-a:

Pokrenite Windows Task Scheduler upisivanjem 'Task Scheduler' u traku za pretraživanje izbornika 'Start' ili upisivanjem 'taskschd.msc' u dijaloški okvir 'Run' (Win + R).

Odaberite 'Knjižnica planera zadataka' u lijevom oknu planera zadataka.

U desnom oknu kliknite na 'Create Basic Task...' da biste otvorili 'Create Basic Task Wizard'.

Unesite naziv zadatka i opis. Zatim pritisnite 'Dalje'.

Odaberite 'Dnevno' kao vrstu okidača (iako ga želite pokretati svakog sata, to vam omogućuje postavljanje intervala ponavljanja). Zatim kliknite na 'Dalje'.

Navedite datum i vrijeme početka zadatka sigurnosnog kopiranja.

Odaberite 'Ponavljaj zadatak svaki:' i postavite na 1 sat.

Postavite trajanje na '1 dan'. Zatim kliknite na 'Dalje'.

Odaberite “Pokreni program” i zatim pritisnite “Dalje”.

Pregledajte i odaberite Python izvršnu datoteku (python.exe) klikom na 'Pregledaj'.

Pregledajte i odaberite Python izvršnu datoteku (python.exe) klikom na 'Pregledaj'.

Unesite puni put do svoje Python skripte (npr. C:\path\to\mysql_backup.py) u polje 'Dodaj argumente'.

Unesite direktorij koji sadrži vašu Python skriptu (npr. C:\path\to\) u polje 'Počni u (neobavezno)'.

Kliknite na 'Dalje'.

Pregledajte postavke zadatka i kliknite na 'Završi' za izradu zadatka.

Zaključak

Možemo izraditi pouzdane i učinkovite skripte za automatizaciju koje skraćuju vrijeme tijeka rada i posvećuju ga važnijim aktivnostima korištenjem Pythonovih alata i njegovih najboljih praksi. Dali smo neke primjere koji će vam sigurno pomoći da automatizirate svoje zadatke pomoću Python skripti.