Hvordan automatisere oppgaver med Python-skript

Hvordan Automatisere Oppgaver Med Python Skript



Programmerere, kodere og utviklere kan automatisere metodene ved hjelp av Python-skript, og sparer dem for en viktig tid og krefter ved å utføre repeterende operasjoner. Python er et dataspråk, som Java, som fungerer godt i prosessautomatisering. I forhold til andre språk er det relativt enkelt å lære. Den har også et stort, levende fellesskap og innebygde biblioteker for å automatisere bestemte oppgaver.

Installerer Python

Før du begynner å automatisere oppgavene, installer Python på datamaskinen eller systemet. For å installere Python må du først besøke det offisielle Python-nettstedet. Sørg for å legge til Python til systemets PATH under installasjonen.







  1. Velg en IDE- eller tekstredigerer

Enhver tekstredigerer kan brukes til å bygge Python-skriptene. Likevel kan de integrerte utviklingsmiljøene (IDE), inkludert PyCharm, Visual Studio Code eller Jupyter Notebook, forbedre prosessen med verktøy som syntaksutheving og feilsøking. Vi bruker imidlertid Notepad++ i denne artikkelen.



  1. Bestem oppgaven som må automatiseres

Dette kan innebære alt fra å sende massee-poster, lage rapporter, laste ned filer og ta sikkerhetskopier.



  1. Undersøk bibliotekene og funksjonene

Se på funksjonene og bibliotekene som kan automatisere underoppgavene.





  1. Skriv skriptet i Python

Det er her vi setter sammen alle brikkene for å lage et komplett arbeidsmanus.

  1. Oppgave

Automatiser genereringen av rapporter fra dataene som er lagret i et regneark.



  1. Python-skript

Vi kan bruke et Python-skript til å lese dataene fra et regneark og generere rapporter i en rekke formater som PDF, HTML eller CSV. I tillegg kan skriptet brukes til å automatisk distribuere rapportene til interessenter via e-post eller Slack.

Det tar flere trinn å lage rapporter ved å bruke regnearkdataene. Vi gir deg et forenklet Python-skript som bruker Pandas-biblioteket til å lese dataene fra et Excel-regneark og lage en CSV-rapport. Husk at vi kan bygge på dette skriptet for å produsere mer intrikate rapporter i andre formater og automatisere e-post- eller Slack-varslene etter behov.

Installer de nødvendige bibliotekene

Før vi kjører skriptet, må vi installere Pandas-biblioteket hvis det ikke er installert ennå:

pip installere pandas openpyxl

Python-koden har en funksjon kalt gener_report() som tar to argumenter: banen til et Excel-regneark som inneholder ansattes lønnsdata og banen til en CSV-fil der rapporten skal lagres.

Funksjonen leser først Excel-regnearket inn i et Pandas DataFrame-objekt. Deretter utfører den databehandling og analyse etter behov. Summen av kolonnen 'Lønn' beregnes i dette tilfellet av funksjonen.

Deretter oppretter funksjonen en rapportstreng som inneholder den totale lønnen til alle ansatte. Til slutt lagrer funksjonen rapporten i en CSV-fil.

Hovedfunksjonen til koden spesifiserer Excel-inndatafilen og utdatarapportfilen og kaller deretter gener_report()-funksjonen for å lage rapporten.

GenReport.py:
importere pandaer som pd_obj
def generere_rapport ( emp_salary_data, emp_salary_report_file ) :
prøve:
# Les data fra Excel-regnearket
df_obj = pd_obj.read_excel ( ansatt_lønnsdata )
# Utfør databehandling og analyse etter behov
# For enkelhets skyld, la oss anta at vi ønsker å beregne summen av en kolonne
lønn_total = df_obj [ 'Lønn' ] .sum ( )
# Lag en rapport
lønnsrapport = f 'Totalt av alle ansattes lønn: {salary_total}'
# Lagre rapporten i en CSV-fil
med åpen ( emp_salary_report_file, 'I' ) som csv_obj:
csv_obj.write ( lønnsrapport )

skrive ut ( f 'Rapport generert og lagret i {emp_salary_report_file}' )
unntatt unntak som eks:
skrive ut ( f 'Det oppsto en feil: {str(e)}' )
hvis __navn__ == '__hoved__' :
# Spesifiser Excel-inndatafilen og utdatarapportfilen
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'lønnsum.csv'
# Kall generere_rapport-funksjonen for å lage rapporten
generer rapport ( emp_salary_data, emp_salary_report_file )

Her er dataene i ansattfilen:

Test skriptet

Vi må teste skriptet grundig etter at det er skrevet for å sikre at det fungerer etter hensikten. Vi bruker Python-kompilatoren for å teste filen som vi automatiserer. I dette tilfellet genererer og lagrer denne filen rapporten i en CSV-fil.

Planlegg eller utløs skriptet

Avhengig av kravene til automatisering, kan vi kjøre Python-skriptet på forskjellige måter:

  • Manuell utførelse: Kjør skriptet manuelt ved å utføre det i en IDE eller via kommandolinjen ved å bruke følgende kommando: python GenerateReport.py .
  • Planlagte oppgaver (Windows): Vi kan kjøre skriptet til bestemte tider eller intervaller ved å bruke Windows Task Scheduler. Ved å bruke Windows-tjenesten kan vi også starte en spesifikk hendelse.
  • Cron Jobs (Linux/macOS): Vi kan bruke cron-jobber til å planlegge at skriptet skal kjøre til bestemte tider på Unix-lignende systemer.
  • Hendelsesdrevet: Vi kan utløse skriptet ditt som svar på spesifikke hendelser, for eksempel filendringer, ved å bruke biblioteker som watchdog eller ved å integrere med webhooks.

Automatisering av MySQL-sikkerhetskopien ved hjelp av Python

For å automatisere sikkerhetskopieringsprosessen til en MySQL-server på timeplan, kan vi bruke Python i kombinasjon med 'mysqlclient'-biblioteket for å koble til MySQL-databasen og lage sikkerhetskopier, og vi kan bruke en oppgaveplanlegger som Cron (på Unix-basert systems) for å kjøre Python-skriptet med timeintervaller. Følgende er et Python-skript som du kan bruke til dette formålet:

Trinn 1: Installer de nødvendige bibliotekene

Vi må installere 'mysqlclient'-biblioteket for MySQL-tilkobling. Vi kan installere det ved å bruke pip:

Pip installere mysqlclient

pip installere configparser

Trinn 2: Opprett en konfigurasjonsfil

Lag en tekstfil (f.eks. mysqlconfig.ini) for å lagre MySQL-tilkoblingsinformasjonen, inkludert passordet. Her er et eksempel på hvordan 'mysqlconfig.ini'-filen kan se ut:

[ mysql ]
mySQL_DB_HOST = lokal vert
mySQL_DB_USERNAME = rot
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

Trinn 3: Bekreft MySQL Bin Directory :

Kommandoen 'mysqldump' skal være plassert i MySQL bin-katalogen. Bekreft at systemets PATH inkluderer bin-katalogen. Vi kan endre PATH-miljøvariabelen for å inkludere MySQL-bin-plasseringen.

På Windows: Vi kan redigere systemets PATH ved å lete etter 'Environment Variables' i 'Start'-menyen og legge til MySQL bin-katalogen (f.eks. C:\Program Files\MySQL\MySQL Server X.X\bin) til PATH-variabelen.

Trinn 3: Skriv Python-skriptet

Lag et Python-skript, for eksempel MySQLBackup.py, for å automatisere MySQL-sikkerhetskopieringsprosessen. Erstatt plassholderne med databasetilkoblingsdetaljene og filbanene etter behov.

import underprosess som sp
fra datetime import datetime som dt_obj
import configparser som mysql_confg
# MySQL-databasetilkoblingsdetaljer
# Last inn MySQL-tilkoblingsdetaljer fra konfigurasjonsfilen
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Juster banen om nødvendig
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' )
# Sikkerhetskopieringskatalog
bk_dir = 'backup_directory/'
# Få gjeldende dato og klokkeslett for sikkerhetskopifilnavnet
tidsstempler = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Definer sikkerhetskopifilnavnet
min_sql_bk = f 'backup_{timestamp_oj}.sql'
# MySQL dump-kommando
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}'

prøve:
# Utfør MySQL dump-kommandoen for å lage en sikkerhetskopi
sp.run ( mysql_dump_cmd, skall =Sant, Sjekk =Sant )
skrive ut ( f 'Sikkerhetskopiering fullført og lagret som '{my_sql_bk}' i '{bk_dir}'' )
unntatt sp.CalledProcessError som Det er:
skrive ut ( f 'Feil ved opprettelse av sikkerhetskopi: {str(e)}' )

Trinn 4: Test og utfør koden

Trinn 5: Planlegg skriptet med Windows Task Scheduler

La oss nå planlegge at Python-skriptet skal kjøres automatisk ved hjelp av Windows Task Scheduler:

Start Windows Task Scheduler ved å skrive 'Task Scheduler' i 'Start'-menyens søkefelt eller ved å skrive 'taskschd.msc' i 'Kjør'-dialogboksen (Win + R).

Velg 'Task Scheduler Library' fra venstre rute i Task Scheduler.

I den høyre ruten klikker du på 'Opprett grunnleggende oppgave...' for å åpne veiviseren for oppretting av grunnleggende oppgave.

Skriv inn et oppgavenavn og en beskrivelse. Trykk deretter på 'Neste'.

Velg 'Daglig' som utløsertype (selv om du vil kjøre den hver time, lar dette deg angi et gjentaksintervall). Klikk deretter på 'Neste'.

Angi startdato og -klokkeslett for sikkerhetskopieringsoppgaven.

Velg «Gjenta oppgave hver:» og sett den til 1 time.

Still inn varigheten til '1 dag'. Klikk deretter på 'Neste'.

Velg 'Start et program' og trykk deretter på 'Neste'.

Bla gjennom og velg den kjørbare Python-filen (python.exe) ved å klikke på 'Bla gjennom'.

Bla gjennom og velg den kjørbare Python-filen (python.exe) ved å klikke på 'Bla gjennom'.

Skriv inn hele banen til Python-skriptet ditt (f.eks. C:\path\to\mysql_backup.py) i feltet 'Legg til argumenter'.

Skriv inn katalogen som inneholder Python-skriptet ditt (f.eks. C:\path\to\) i 'Start in (valgfritt)'-feltet.

Klikk på 'Neste'.

Se gjennom oppgaveinnstillingene og klikk på 'Fullfør' for å opprette oppgaven.

Konklusjon

Vi kan bygge pålitelige og effektive automatiseringsskript som kutter tiden av arbeidsflyter og vie den til viktigere aktiviteter ved å bruke Pythons verktøy og dens beste praksis. Vi ga noen eksempler som definitivt vil hjelpe deg med å automatisere oppgavene dine ved å bruke Python-skript.