Kaip automatizuoti užduotis naudojant Python scenarijus

Kaip Automatizuoti Uzduotis Naudojant Python Scenarijus



Programuotojai, programuotojai ir kūrėjai gali automatizuoti metodus naudodami Python scenarijus, sutaupydami jiems daug laiko ir pastangų atlikdami pasikartojančias operacijas. Python yra kompiuterinė kalba, tokia kaip „Java“, kuri puikiai veikia automatizuojant procesus. Palyginti su kitomis kalbomis, tai gana lengva išmokti. Jame taip pat yra didelė, gyvybinga bendruomenė ir integruotos bibliotekos, skirtos tam tikroms užduotims automatizuoti.

Python diegimas

Prieš pradėdami automatizuoti užduotis, kompiuteryje arba sistemoje įdiekite Python. Norėdami įdiegti Python, pirmiausia turite apsilankyti oficialioje Python svetainėje. Diegdami būtinai įtraukite Python prie sistemos PATH.







  1. Pasirinkite IDE arba teksto rengyklę

Python scenarijus kurti galima naudoti bet kurį teksto rengyklę. Vis dėlto integruotos kūrimo aplinkos (IDE), įskaitant „PyCharm“, „Visual Studio Code“ arba „Jupyter Notebook“, gali pagerinti procesą naudodami tokius įrankius kaip sintaksės paryškinimas ir derinimas. Tačiau šiame straipsnyje mes naudojame Notepad++.



  1. Nustatykite užduotį, kurią reikia automatizuoti

Tai gali apimti bet ką – nuo ​​masinių el. laiškų siuntimo, ataskaitų kūrimo, failų atsisiuntimo ir atsarginių kopijų kūrimo.



  1. Tyrinėkite bibliotekas ir funkcijas

Peržiūrėkite funkcijas ir bibliotekas, kurios gali automatizuoti papildomas užduotis.





  1. Parašykite scenarijų Python

Čia mes surenkame visas dalis, kad sukurtume visą darbo scenarijų.

  1. Užduotis

Automatizuokite ataskaitų generavimą iš duomenų, saugomų skaičiuoklėje.



  1. Python scenarijus

Galime naudoti Python scenarijų, norėdami nuskaityti duomenis iš skaičiuoklės ir generuoti ataskaitas įvairiais formatais, tokiais kaip PDF, HTML arba CSV. Be to, scenarijus gali būti naudojamas automatiškai platinti ataskaitas suinteresuotosioms šalims el. paštu arba „Slack“.

Norint sukurti ataskaitas naudojant skaičiuoklės duomenis, reikia atlikti kelis veiksmus. Pateiksime supaprastintą Python scenarijų, kuris naudoja Pandas biblioteką duomenims iš Excel skaičiuoklės nuskaityti ir CSV ataskaitai sukurti. Atminkite, kad galime remtis šiuo scenarijumi, kad sukurtume sudėtingesnes ataskaitas kitais formatais ir prireikus automatizuotume el. pašto arba „Slack“ pranešimus.

Įdiekite reikalingas bibliotekas

Prieš paleisdami scenarijų, turime įdiegti Pandas biblioteką, jei ji dar neįdiegta:

pip diegti pandos openpyxl

Python kode yra funkcija gener_report(), kuri turi du argumentus: kelią į Excel skaičiuoklę, kurioje yra darbuotojų atlyginimo duomenys, ir kelią į CSV failą, kuriame turėtų būti išsaugota ataskaita.

Funkcija pirmiausia nuskaito Excel skaičiuoklę į Pandas DataFrame objektą. Tada ji atlieka duomenų apdorojimą ir analizę, jei reikia. Stulpelio „Atlyginimas“ suma šiuo atveju apskaičiuojama pagal funkciją.

Tada funkcija sukuria ataskaitos eilutę, kurioje yra bendras visų darbuotojų atlyginimas. Galiausiai funkcija išsaugo ataskaitą CSV faile.

Pagrindinė kodo funkcija nurodo įvesties „Excel“ failą ir išvesties ataskaitos failą, o tada iškviečia gener_report() funkciją, kad sukurtų ataskaitą.

GenReport.py:
importuoti pandas kaip pd_obj
def generuoti_ataskaita ( emp_algos_duomenys, emp_algos_ataskaitos_failas ) :
bandyti:
# Skaitykite duomenis iš „Excel“ skaičiuoklės
df_obj = pd_obj.read_excel ( emp_algos_duomenys )
# Jei reikia, atlikite duomenų apdorojimą ir analizę
# Paprastumo dėlei tarkime, kad norime apskaičiuoti stulpelio sumą
alga_visa = df_obj [ 'Atlyginimas' ] .suma ( )
# Sukurkite ataskaitą
atlyginimo_ataskaita = f Iš viso visų darbuotojų atlyginimų: {salary_total}
# Išsaugokite ataskaitą į CSV failą
su atvira ( emp_salary_report_file, 'į' ) kaip csv_obj:
csv_obj.write ( atlyginimo_ataskaita )

spausdinti ( f 'Ataskaita sukurta ir išsaugota {emp_salary_report_file}' )
išskyrus Išimtį kaip pvz.:
spausdinti ( f 'Įvyko klaida: {str(e)}' )
jeigu __vardas__ == '__pagrindinis__' :
# Nurodykite įvesties „Excel“ failą ir išvesties ataskaitos failą
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'salary_sum.csv'
# Norėdami sukurti ataskaitą, iškvieskite gener_report funkciją
generuoti_ataskaita ( emp_algos_duomenys, emp_algos_ataskaitos_failas )

Štai duomenys įvesties darbuotojo faile:

Išbandykite scenarijų

Turime nuodugniai išbandyti scenarijų po to, kai jis bus parašytas, kad įsitikintume, jog jis veikia taip, kaip numatyta. Naudojame Python kompiliatorių, kad patikrintume automatizuotą failą. Tokiu atveju šis failas sėkmingai sugeneruoja ir išsaugo ataskaitą CSV faile.

Suplanuokite arba suaktyvinkite scenarijų

Atsižvelgdami į automatizavimo reikalavimus, Python scenarijų galime vykdyti įvairiais būdais:

  • Rankinis vykdymas: Paleiskite scenarijų rankiniu būdu, atlikdami jį IDE arba per komandinę eilutę naudodami šią komandą: python GenerateReport.py .
  • Suplanuotos užduotys („Windows“): Naudodami „Windows“ užduočių planuoklį galime paleisti scenarijų tam tikru laiku arba tam tikrais intervalais. Naudodami „Windows“ paslaugą taip pat galime iškviesti konkretų įvykį.
  • „Cron Jobs“ („Linux“ / „macOS“): Galime naudoti cron užduotis, kad suplanuotume scenarijaus paleidimą tam tikru laiku Unix tipo sistemose.
  • Įvykių pagrindu: Galime suaktyvinti scenarijų reaguodami į konkrečius įvykius, pvz., failų pakeitimus, naudodami bibliotekas, pvz., „watchdog“, arba integruodami su žiniatinklio kabliukais.

MySQL atsarginės kopijos automatizavimas naudojant Python

Norėdami automatizuoti MySQL serverio atsarginių kopijų kūrimo procesą pagal valandinį tvarkaraštį, galime naudoti Python kartu su „mysqlclient“ biblioteka, kad prisijungtume prie MySQL duomenų bazės ir sukurtume atsargines kopijas, taip pat galime naudoti užduočių planuoklį, pvz., „Cron“ (pagrįstoje „Unix“ sistemos) paleisti Python scenarijų kas valandą. Toliau pateikiamas Python scenarijus, kurį galite naudoti šiuo tikslu:

1 veiksmas: įdiekite reikalingas bibliotekas

Turime įdiegti „mysqlclient“ biblioteką MySQL ryšiui. Galime įdiegti naudodami pip:

Pip diegti mysqlclient

pip diegti konfigūravimo įrankis

2 veiksmas: sukurkite konfigūracijos failą

Sukurkite tekstinį failą (pvz., mysqlconfig.ini), kad išsaugotumėte savo MySQL ryšio informaciją, įskaitant slaptažodį. Štai pavyzdys, kaip gali atrodyti „mysqlconfig.ini“ failas:

[ mysql ]
mySQL_DB_HOST = localhost
mySQL_DB_USERNAME = root
mySQL_DB_PASSWORD = 1234 m
mySQL_DB_DATABASE_NAME = brandsw9_data

3 veiksmas: patikrinkite „MySQL Bin“ katalogą :

Komanda „mysqldump“ turėtų būti „MySQL bin“ kataloge. Patikrinkite, ar sistemos PATH yra bin katalogas. Galime modifikuoti PATH aplinkos kintamąjį, įtraukdami MySQL šiukšliadėžės vietą.

„Windows“ sistemoje: galime redaguoti sistemos PATH, meniu „Pradėti“ ištyrę „Aplinkos kintamuosius“ ir įtraukdami MySQL šiukšliadėžės katalogą (pvz., C:\Program Files\MySQL\MySQL Server X.X\bin) prie PATH kintamojo.

3 veiksmas: parašykite Python scenarijų

Norėdami automatizuoti MySQL atsarginės kopijos kūrimo procesą, sukurkite Python scenarijų, pvz., MySQLBackup.py. Jei reikia, pakeiskite vietos rezervavimo ženklus duomenų bazės ryšio informacija ir failo keliais.

importo subprocesas kaip sp
from datetime import datetime kaip dt_obj
importuoti konfigūravimo programą kaip mysql_confg
# MySQL duomenų bazės ryšio informacija
# Įkelkite MySQL ryšio informaciją iš konfigūracijos failo
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Jei reikia, pakoreguokite kelią
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“ )
# Atsarginis katalogas
bk_dir = 'atsarginis_katalogas/'
# Gaukite dabartinę atsarginės kopijos failo pavadinimo datą ir laiką
laiko žymos = dt_obj.now ( ) .strftime ( „%Y%m%d%H%M%S“ )
# Apibrėžkite atsarginės kopijos failo pavadinimą
mano_sql_bk = f 'atsarginė kopija_{timestamp_oj}.sql'
# MySQL dump komanda
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}'

bandyti:
# Vykdykite MySQL dump komandą, kad sukurtumėte atsarginę kopiją
sp.run ( mysql_dump_cmd, apvalkalas = Tiesa, patikrinti = Tiesa )
spausdinti ( f „Atsarginė kopija sukurta ir išsaugota kaip „{my_sql_bk}“ aplanke „{bk_dir}““ )
išskyrus sp.CalledProcessError kaip Tai yra:
spausdinti ( f „Klaida kuriant atsarginę kopiją: {str(e)}“ )

4 veiksmas: išbandykite ir paleiskite kodą

5 veiksmas: suplanuokite scenarijų naudodami „Windows“ užduočių planuoklį

Dabar suplanuokime Python scenarijų, kad jis būtų paleistas automatiškai, naudojant „Windows“ užduočių planuoklį:

Paleiskite „Windows“ užduočių planuoklį, meniu „Pradėti“ paieškos juostoje įvesdami „Task Scheduler“ arba dialogo lange „Run“ (Win + R) įvesdami „taskschd.msc“.

Kairiojoje užduočių planuoklio srityje pasirinkite „Task Scheduler Library“.

Dešinėje srityje spustelėkite „Sukurti pagrindinę užduotį…“, kad atidarytumėte „Pagrindinės užduoties kūrimo vedlį“.

Įveskite užduoties pavadinimą ir aprašymą. Tada paspauskite „Kitas“.

Kaip paleidimo tipą pasirinkite „Kasdien“ (nors norite jį paleisti kas valandą, tai leidžia nustatyti kartojimo intervalą). Tada spustelėkite „Kitas“.

Nurodykite atsarginės kopijos kūrimo užduoties pradžios datą ir laiką.

Pasirinkite „Pakartoti užduotį kas:“ ir nustatykite 1 valandą.

Nustatykite trukmę į „1 diena“. Tada spustelėkite „Kitas“.

Pasirinkite „Pradėti programą“ ir paspauskite „Kitas“.

Naršykite ir pasirinkite Python vykdomąjį failą (python.exe) spustelėdami „Naršyti“.

Naršykite ir pasirinkite Python vykdomąjį failą (python.exe) spustelėdami „Naršyti“.

Lauke „Pridėti argumentų“ įveskite visą Python scenarijaus kelią (pvz., C:\path\to\mysql_backup.py).

Lauke „Pradėti (neprivaloma)“ įveskite katalogą, kuriame yra jūsų Python scenarijus (pvz., C:\path\to\).

Spustelėkite „Kitas“.

Peržiūrėkite užduoties nustatymus ir spustelėkite „Baigti“, kad sukurtumėte užduotį.

Išvada

Naudodami Python įrankius ir geriausią praktiką galime sukurti patikimus ir efektyvius automatizavimo scenarijus, kurie sutrumpina darbo eigos laiką ir skiriame ją svarbesnei veiklai. Pateikėme keletą pavyzdžių, kurie tikrai padės automatizuoti užduotis naudojant Python scenarijus.