Kako avtomatizirati opravila s skripti Python

Kako Avtomatizirati Opravila S Skripti Python



Programerji, kodirniki in razvijalci lahko avtomatizirajo metode z uporabo skriptov Python in jim prihranijo pomemben čas in trud z izvajanjem ponavljajočih se operacij. Python je računalniški jezik, tako kot Java, ki se dobro obnese pri avtomatizaciji procesov. V primerjavi z drugimi jeziki se ga je relativno enostavno naučiti. Ima tudi veliko, živahno skupnost in vgrajene knjižnice za avtomatizacijo določenih nalog.

Namestitev Pythona

Preden začnete avtomatizirati naloge, namestite Python v računalnik ali sistem. Če želite namestiti Python, morate najprej obiskati uradno spletno mesto Python. Prepričajte se, da ste med namestitvijo dodali Python v PATH sistema.







  1. Izberite IDE ali urejevalnik besedil

Za izdelavo skriptov Python lahko uporabite kateri koli urejevalnik besedil. Kljub temu lahko integrirana razvojna okolja (IDE), vključno s PyCharm, Visual Studio Code ali Jupyter Notebook, izboljšajo proces z orodji, kot sta označevanje sintakse in odpravljanje napak. Vendar pa v tem članku uporabljamo Notepad++.



  1. Določite nalogo, ki jo je treba avtomatizirati

To lahko vključuje kar koli, od pošiljanja množične e-pošte, ustvarjanja poročil, prenosa datotek in izdelave varnostnih kopij.



  1. Raziščite knjižnice in funkcije

Oglejte si funkcije in knjižnice, ki lahko avtomatizirajo podnaloge.





  1. Napišite skript v Pythonu

Tukaj sestavimo vse dele, da ustvarimo popoln delujoč skript.

  1. Naloga

Avtomatizirajte ustvarjanje poročil iz podatkov, ki so shranjeni v preglednici.



  1. Python skript

Za branje podatkov iz preglednice in ustvarjanje poročil v različnih formatih, kot so PDF, HTML ali CSV, lahko uporabimo skript Python. Poleg tega se lahko skript uporablja za samodejno distribucijo poročil zainteresiranim stranem po e-pošti ali Slack.

Za ustvarjanje poročil z uporabo podatkov preglednice je potrebnih več korakov. Dali vam bomo poenostavljen skript Python, ki uporablja knjižnico Pandas za branje podatkov iz Excelove preglednice in ustvarjanje poročila CSV. Ne pozabite, da lahko gradimo na tem skriptu za izdelavo bolj zapletenih poročil v drugih formatih in po potrebi avtomatiziramo e-poštna obvestila ali obvestila Slack.

Namestite zahtevane knjižnice

Preden zaženemo skript, moramo namestiti knjižnico Pandas, če še ni nameščena:

pip namestite pande openpyxl

Koda Python ima funkcijo, imenovano generate_report(), ki sprejme dva argumenta: pot do Excelove preglednice, ki vsebuje podatke o plačah zaposlenih, in pot do datoteke CSV, kamor naj se poročilo shrani.

Funkcija najprej prebere Excelovo preglednico v objekt Pandas DataFrame. Nato po potrebi izvede obdelavo in analizo podatkov. Vsoto stolpca »Plača« v tem primeru izračuna funkcija.

Nato funkcija ustvari niz poročila, ki vsebuje skupno plačo vseh zaposlenih. Končno funkcija shrani poročilo v datoteko CSV.

Glavna funkcija kode določa vhodno Excelovo datoteko in izhodno datoteko poročila ter nato pokliče funkcijo generate_report(), da ustvari poročilo.

GenReport.py:
uvoz pand kot pd_obj
def generiraj_poročilo ( emp_plačni_podatki, emp_plačna_poročila_datoteka ) :
poskusi:
# Branje podatkov iz Excelove preglednice
df_obj = pd_obj.read_excel ( emp_salary_data )
# Po potrebi izvedite obdelavo in analizo podatkov
# Za poenostavitev predpostavimo, da želimo izračunati vsoto stolpca
plača_skupaj = df_obj [ 'Plača' ] .vsota ( )
# Ustvarite poročilo
poročilo o plačah = f 'Skupaj vseh plač zaposlenih: {salary_total}'
# Shranite poročilo v datoteko CSV
z odprtim ( emp_salary_report_file, 'V' ) kot csv_obj:
csv_obj.write ( poročilo o plačah )

tiskanje ( f 'Poročilo ustvarjeno in shranjeno v {emp_salary_report_file}' )
razen izjeme kot npr.:
tiskanje ( f 'Prišlo je do napake: {str(e)}' )
če __ime__ == '__glavni__' :
# Določite vhodno datoteko Excel in izhodno datoteko poročila
emp_podatki_plače = 'input_employee_data.xlsx'
emp_salary_report_file = 'plača_vsota.csv'
# Pokličite funkcijo generate_report, da ustvarite poročilo
generiraj_poročilo ( emp_plačni_podatki, emp_plačna_poročila_datoteka )

Tu so podatki v vhodni datoteki zaposlenih:

Preizkusite skript

Skript moramo obsežno preizkusiti, potem ko je napisan, da zagotovimo, da deluje, kot je predvideno. Za testiranje datoteke, ki jo avtomatiziramo, uporabljamo prevajalnik Python. V tem primeru ta datoteka uspešno ustvari in shrani poročilo v datoteko CSV.

Načrtujte ali sprožite skript

Odvisno od zahtev avtomatizacije lahko skript Python izvajamo na različne načine:

  • Ročna izvedba: Zaženite skript ročno, tako da ga izvedete v IDE ali prek ukazne vrstice z naslednjim ukazom: python GenerateReport.py .
  • Načrtovana opravila (Windows): Skript lahko izvajamo ob določenih urah ali intervalih z uporabo Windows Task Schedulerja. Z uporabo storitve Windows lahko prikličemo tudi določen dogodek.
  • Cron Jobs (Linux/macOS): Opravila cron lahko uporabimo za načrtovanje izvajanja skripta ob določenih urah v sistemih, podobnih Unixu.
  • Na podlagi dogodkov: Vaš skript lahko sprožimo kot odgovor na določene dogodke, kot so spremembe datotek, z uporabo knjižnic, kot je watchdog, ali z integracijo s spletnimi kavlji.

Avtomatizacija varnostnega kopiranja MySQL z uporabo Pythona

Za avtomatizacijo postopka varnostnega kopiranja strežnika MySQL po urnem razporedu lahko uporabimo Python v kombinaciji s knjižnico »mysqlclient« za povezavo z bazo podatkov MySQL in ustvarjanje varnostnih kopij ter lahko uporabimo načrtovalnik opravil, kot je Cron (na osnovi Unixa sistemi) za zagon skripta Python v urnih intervalih. Sledi skript Python, ki ga lahko uporabite za ta namen:

1. korak: Namestite zahtevane knjižnice

Za povezljivost MySQL moramo namestiti knjižnico »mysqlclient«. Namestimo ga lahko s pipom:

Pip namestite mysqlclient

pip namestite configparser

2. korak: Ustvarite konfiguracijsko datoteko

Ustvarite besedilno datoteko (npr. mysqlconfig.ini), da shranite informacije o povezavi MySQL, vključno z geslom. Tukaj je primer, kako bi lahko izgledala datoteka »mysqlconfig.ini«:

[ mysql ]
mySQL_DB_HOST = lokalni gostitelj
mySQL_DB_USERNAME = root
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

3. korak: Preverite imenik MySQL Bin :

Ukaz »mysqldump« se mora nahajati v imeniku bin MySQL. Preverite, ali PATH sistema vključuje imenik bin. Okoljsko spremenljivko PATH lahko spremenimo tako, da vključuje lokacijo predala MySQL.

V sistemu Windows: Sistemsko PATH lahko uredimo tako, da v meniju »Start« poiščemo »Okoljske spremenljivke« in spremenljivki PATH dodamo imenik MySQL bin (npr. C:\Program Files\MySQL\MySQL Server X.X\bin).

3. korak: Napišite skript Python

Ustvarite skript Python, npr. MySQLBackup.py, da avtomatizirate postopek varnostnega kopiranja MySQL. Po potrebi zamenjajte ogradne oznake s podrobnostmi povezave z bazo podatkov in potmi datotek.

uvozni podproces kot sp
from datetime import datetime kot dt_obj
uvozi konfiguracijski razčlenjevalec kot mysql_confg
# Podrobnosti povezave z bazo podatkov MySQL
# Naloži podrobnosti povezave MySQL iz konfiguracijske datoteke
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Po potrebi prilagodite pot
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 imenik
bk_dir = 'varnostni_imenik/'
# Pridobite trenutni datum in uro za ime datoteke varnostne kopije
časovni žigi = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Določite ime varnostne kopije
moj_sql_bk = f 'backup_{timestamp_oj}.sql'
# Ukaz izpisa MySQL
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}'

poskusi:
# Izvedite ukaz MySQL dump, da ustvarite varnostno kopijo
sp.run ( mysql_dump_cmd, lupina = res, preverite = Res )
tiskanje ( f 'Varnostno kopiranje je dokončano in shranjeno kot '{my_sql_bk}' v '{bk_dir}'' )
razen sp.CalledProcessError kot Je:
tiskanje ( f 'Napaka pri ustvarjanju varnostne kopije: {str(e)}' )

4. korak: preizkusite in izvedite kodo

5. korak: Načrtujte skript z Windows Task Schedulerjem

Zdaj pa načrtujmo skript Python, da se samodejno zažene z uporabo Windows Task Scheduler:

Zaženite Windows Task Scheduler tako, da v iskalno vrstico menija »Start« vnesete »Task Scheduler« ali tako, da vnesete »taskschd.msc« v pogovorno okno »Run« (Win + R).

V levem podoknu načrtovalnika opravil izberite »Knjižnica razporejevalnika opravil«.

V desnem podoknu kliknite »Ustvari osnovno opravilo ...«, da odprete »Čarovnika za ustvarjanje osnovnega opravila«.

Vnesite ime in opis naloge. Nato pritisnite »Naprej«.

Za vrsto sprožilca izberite »Dnevno« (čeprav ga želite izvajati vsako uro, vam to omogoča nastavitev intervala ponavljanja). Nato kliknite »Naprej«.

Določite začetni datum in uro za nalogo varnostnega kopiranja.

Izberite »Ponovi opravilo vsak:« in nastavite na 1 uro.

Nastavite trajanje na '1 dan'. Nato kliknite »Naprej«.

Izberite »Zaženi program« in nato pritisnite »Naprej«.

Prebrskajte in izberite izvršljivo datoteko Python (python.exe), tako da kliknete »Prebrskaj«.

Prebrskajte in izberite izvršljivo datoteko Python (python.exe), tako da kliknete »Prebrskaj«.

Vnesite celotno pot do skripta Python (npr. C:\path\to\mysql_backup.py) v polje »Dodaj argumente«.

Vnesite imenik, ki vsebuje vaš skript Python (npr. C:\path\to\) v polje »Začni v (izbirno)«.

Kliknite »Naprej«.

Preglejte nastavitve opravila in kliknite »Dokončaj«, da ustvarite opravilo.

Zaključek

Z uporabo orodij Python in njegovih najboljših praks lahko izdelamo zanesljive in učinkovite skripte za avtomatizacijo, ki skrajšajo čas delovnih tokov in ga posvetijo pomembnejšim dejavnostim. Zagotovili smo nekaj primerov, ki vam bodo zagotovo pomagali avtomatizirati vaša opravila s skripti Python.