Tehtävien automatisointi Python-skripteillä

Tehtavien Automatisointi Python Skripteilla



Ohjelmoijat, koodaajat ja kehittäjät voivat automatisoida menetelmät Python-skripteillä, mikä säästää heille tärkeää aikaa ja vaivaa suorittamalla toistuvia toimintoja. Python on tietokonekieli, kuten Java, joka toimii hyvin prosessiautomaatiossa. Verrattuna muihin kieliin se on suhteellisen helppo oppia. Siinä on myös suuri, eloisa yhteisö ja sisäänrakennetut kirjastot tiettyjen tehtävien automatisoimiseksi.

Pythonin asennus

Ennen kuin aloitat tehtävien automatisoinnin, asenna Python tietokoneeseen tai järjestelmään. Pythonin asentamiseksi sinun tulee ensin käydä virallisella Python-sivustolla. Muista lisätä Python järjestelmän PATH:iin asennuksen aikana.







  1. Valitse IDE tai tekstieditori

Python-skriptien rakentamiseen voidaan käyttää mitä tahansa tekstieditoria. Integroidut kehitysympäristöt (IDE:t), kuten PyCharm, Visual Studio Code tai Jupyter Notebook, voivat kuitenkin parantaa prosessia työkaluilla, kuten syntaksin korostus ja virheenkorjaus. Käytämme kuitenkin tässä artikkelissa Notepad++:aa.



  1. Määritä tehtävä, joka on automatisoitava

Tämä voi sisältää mitä tahansa sähköpostien joukkolähettämistä, raporttien luomista, tiedostojen lataamista ja varmuuskopiointia.



  1. Tutki kirjastoja ja toimintoja

Katso toimintoja ja kirjastoja, jotka voivat automatisoida alitehtävät.





  1. Kirjoita komentosarja Pythonissa

Täällä kokoamme kaikki osat täydellisen työskriptin luomiseksi.

  1. Tehtävä

Automatisoi raporttien luominen laskentataulukkoon tallennetuista tiedoista.



  1. Python-skripti

Python-komentosarjan avulla voimme lukea tietoja laskentataulukosta ja luoda raportteja useissa eri muodoissa, kuten PDF-, HTML- tai CSV-muodossa. Lisäksi komentosarjaa voidaan käyttää raporttien automaattiseen jakamiseen sidosryhmille sähköpostitse tai Slackin kautta.

Raporttien luominen laskentataulukkotietojen avulla kestää useita vaiheita. Annamme sinulle yksinkertaistetun Python-skriptin, joka käyttää Pandas-kirjastoa tietojen lukemiseen Excel-laskentataulukosta ja CSV-raportin luomiseen. Muista, että voimme käyttää tätä komentosarjaa tuottaaksemme monimutkaisempia raportteja muissa muodoissa ja automatisoidaksemme sähköposti- tai Slack-ilmoitukset tarpeen mukaan.

Asenna tarvittavat kirjastot

Ennen skriptin suorittamista meidän on asennettava Pandas-kirjasto, jos sitä ei ole vielä asennettu:

pip Asentaa panda openpyxl

Python-koodissa on gener_report()-niminen funktio, joka ottaa kaksi argumenttia: polun Excel-laskentataulukkoon, joka sisältää työntekijän palkkatiedot, ja polun CSV-tiedostoon, johon raportti tulee tallentaa.

Toiminto lukee ensin Excel-laskentataulukon Pandas DataFrame -objektiksi. Sitten se suorittaa tietojenkäsittelyn ja analyysin tarpeen mukaan. 'Palkka' -sarakkeen summa lasketaan tässä tapauksessa funktiolla.

Seuraavaksi funktio luo raporttijonon, joka sisältää kaikkien työntekijöiden kokonaispalkan. Lopuksi toiminto tallentaa raportin CSV-tiedostoon.

Koodin päätoiminto määrittää syötetyn Excel-tiedoston ja tulosraporttitiedoston ja kutsuu sitten gener_report()-funktion raportin luomiseksi.

GenReport.py:
tuonti pandat kuten pd_obj
def generate_report ( emp_palkka_tiedot, emp_palkka_raporttitiedosto ) :
yrittää:
# Lue tiedot Excel-laskentataulukosta
df_obj = pd_obj.read_excel ( emp_palary_data )
# Suorita tietojen käsittely ja analysointi tarpeen mukaan
# Yksinkertaisuuden vuoksi oletetaan, että haluamme laskea sarakkeen summan
palkka_yhteensä = df_obj [ 'palkka' ] .summa ( )
# Luo raportti
palkkaraportti = f 'Kaikkien työntekijöiden palkat yhteensä: {salary_total}'
# Tallenna raportti CSV-tiedostoon
avoimella ( emp_salary_report_file, 'Sisään' ) kuten csv_obj:
csv_obj.write ( palkka_raportti )

Tulosta ( f 'Raportti luotu ja tallennettu kohteeseen {emp_salary_report_file}' )
paitsi Poikkeus kuten esim.:
Tulosta ( f 'Tapahtui virhe: {str(e)}' )
jos __nimi__ == '__main__' :
# Määritä syötettävä Excel-tiedosto ja tulosraporttitiedosto
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'palkkasumma.csv'
# Luo raportti kutsumalla gener_report-funktiota
luo raportti ( emp_palkka_tiedot, emp_palkka_raporttitiedosto )

Tässä on syötetyn työntekijätiedoston tiedot:

Testaa käsikirjoitusta

Meidän on testattava komentosarjaa perusteellisesti sen kirjoittamisen jälkeen varmistaaksemme, että se toimii tarkoitetulla tavalla. Käytämme Python-kääntäjää automatisoimamme tiedoston testaamiseen. Tässä tapauksessa tämä tiedosto luo ja tallentaa raportin onnistuneesti CSV-tiedostoon.

Ajoita tai käynnistä komentosarja

Automaatiovaatimuksista riippuen voimme suorittaa Python-komentosarjan useilla tavoilla:

  • Manuaalinen suoritus: Suorita komentosarja manuaalisesti suorittamalla se IDE:ssä tai komentorivin kautta käyttämällä seuraavaa komentoa: python GenerateReport.py .
  • Ajoitetut tehtävät (Windows): Voimme ajaa komentosarjan tiettyinä aikoina tai aikavälein käyttämällä Windowsin Tehtävien ajoitusta. Windows-palvelun avulla voimme myös kutsua tietyn tapahtuman.
  • Cron Jobs (Linux/macOS): Voimme käyttää cron-töitä ajoittaaksemme skriptin ajamaan tiettyinä aikoina Unix-tyyppisissä järjestelmissä.
  • Tapahtumalähtöinen: Voimme käynnistää skriptisi vastauksena tiettyihin tapahtumiin, kuten tiedostojen muutoksiin, käyttämällä kirjastoja, kuten watchdog, tai integroimalla webhookeihin.

MySQL-varmuuskopion automatisointi Pythonilla

MySQL-palvelimen varmuuskopiointiprosessin automatisoimiseksi tuntiaikataulun mukaan voimme käyttää Pythonia yhdessä “mysqlclient”-kirjaston kanssa muodostaaksemme yhteyden MySQL-tietokantaan ja luodaksemme varmuuskopioita, ja voimme käyttää Cronin kaltaista tehtäväajoitusohjelmaa (Unix-pohjaisessa järjestelmät) suorittamaan Python-komentosarjan tunnin välein. Seuraava on Python-skripti, jota voit käyttää tähän tarkoitukseen:

Vaihe 1: Asenna tarvittavat kirjastot

Meidän on asennettava 'mysqlclient'-kirjasto MySQL-yhteyksiä varten. Voimme asentaa sen pip:llä:

Pip Asentaa mysqlclient

pip Asentaa configparser

Vaihe 2: Luo määritystiedosto

Luo tekstitiedosto (esim. mysqlconfig.ini) tallentaaksesi MySQL-yhteystietosi, mukaan lukien salasanan. Tässä on esimerkki siitä, miltä 'mysqlconfig.ini'-tiedosto saattaa näyttää:

[ mysql ]
mySQL_DB_HOST = paikallinen isäntä
mySQL_DB_USERNAME = root
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

Vaihe 3: Tarkista MySQL Bin -hakemisto :

'mysqldump' -komennon tulee sijaita MySQL bin -hakemistossa. Varmista, että järjestelmän PATH sisältää bin-hakemiston. Voimme muokata PATH-ympäristömuuttujaa siten, että se sisältää MySQL-säiliön sijainnin.

Windowsissa: Voimme muokata järjestelmän PATH:ta etsimällä 'Ympäristömuuttujat' 'Käynnistä'-valikosta ja lisäämällä MySQL bin -hakemiston (esim. C:\Program Files\MySQL\MySQL Server X.X\bin) PATH-muuttujaan.

Vaihe 3: Kirjoita Python-skripti

Luo Python-skripti, esim. MySQLBackup.py, automatisoidaksesi MySQL-varmuuskopiointiprosessin. Korvaa paikkamerkit tarvittaessa tietokantayhteystiedoilla ja tiedostopoluilla.

tuoda aliprosessi kuten sp
from datetime import datetime kuten dt_obj
tuo konfiguraatioparser kuten mysql_confg
# MySQL-tietokantayhteystiedot
# Lataa MySQL-yhteystiedot määritystiedostosta
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Säädä polkua tarvittaessa
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' )
# Varmuuskopiointihakemisto
bk_dir = 'varmuuskopio_hakemisto/'
# Hanki varmuuskopiotiedostonimen nykyinen päivämäärä ja aika
aikaleimat = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Määritä varmuuskopiotiedoston nimi
my_sql_bk = f 'backup_{timestamp_oj}.sql'
# MySQL dump -komento
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}'

yrittää:
# Luo varmuuskopio suorittamalla MySQL dump -komento
sp.run ( mysql_dump_cmd, kuori = Totta, tarkistaa = Totta )
Tulosta ( f 'Varmuuskopiointi valmis ja tallennettu nimellä '{my_sql_bk}' kansioon '{bk_dir}'' )
paitsi sp.CalledProcessError kuten Se on:
Tulosta ( f 'Virhe luotaessa varmuuskopiota: {str(e)}' )

Vaihe 4: Testaa ja suorita koodi

Vaihe 5: Ajoita komentosarja Windows Task Scheduler -sovelluksella

Ajoitetaan nyt Python-skripti toimimaan automaattisesti Windowsin Tehtävien ajoituksen avulla:

Käynnistä Windows Task Scheduler kirjoittamalla 'Task Scheduler' 'Käynnistä'-valikon hakupalkkiin tai kirjoittamalla 'taskschd.msc' 'Run'-valintaikkunaan (Win + R).

Valitse 'Task Scheduler Library' Task Scheduler -sovelluksen vasemmasta ruudusta.

Napsauta oikeanpuoleisessa ruudussa 'Luo perustehtävä…' avataksesi 'Create Basic Task Wizard' -toiminnon.

Anna tehtävän nimi ja kuvaus. Paina sitten 'Seuraava'.

Valitse triggerityypiksi 'Päivittäin' (vaikka haluat suorittaa sen tunneittain, voit asettaa toistovälin). Napsauta sitten 'Seuraava'.

Määritä varmuuskopiointitehtävän aloituspäivämäärä ja -aika.

Valitse 'Toista tehtävä joka:' ja aseta se 1 tunniksi.

Aseta kesto '1 päivä'. Napsauta sitten 'Seuraava'.

Valitse 'Aloita ohjelma' ja paina sitten 'Seuraava'.

Selaa ja valitse Python-suoritettava tiedosto (python.exe) napsauttamalla 'Selaa'.

Selaa ja valitse Python-suoritettava tiedosto (python.exe) napsauttamalla 'Selaa'.

Kirjoita Python-skriptin koko polku (esim. C:\polku\mysql_backup.py) 'Lisää argumentteja' -kenttään.

Kirjoita Python-skriptisi sisältävä hakemisto (esim. C:\polku\to\) 'Aloita (valinnainen)' -kenttään.

Napsauta 'Seuraava'.

Tarkista tehtävän asetukset ja napsauta 'Valmis' luodaksesi tehtävän.

Johtopäätös

Pythonin työkaluja ja sen parhaita käytäntöjä hyödyntäen pystymme rakentamaan luotettavia ja tehokkaita automaatiokomentosarjoja, jotka vähentävät työnkulkujen aikaa ja omistavat sen tärkeämpiin toimintoihin. Annoimme joitain esimerkkejä, jotka varmasti auttavat sinua automatisoimaan tehtäväsi Python-skriptien avulla.