Sådan automatiseres opgaver med Python-scripts

Sadan Automatiseres Opgaver Med Python Scripts



Programmører, kodere og udviklere kan automatisere metoderne ved hjælp af Python-scripts, hvilket sparer dem for en vigtig tid og kræfter ved at udføre gentagne operationer. Python er et computersprog, ligesom Java, der fungerer godt i procesautomatisering. I sammenligning med andre sprog er det relativt nemt at lære. Det har også et stort, levende fællesskab og indbyggede biblioteker til at automatisere bestemte opgaver.

Installerer Python

Inden du begynder at automatisere opgaverne, skal du installere Python på computeren eller systemet. For at installere Python skal du først besøge det officielle Python-websted. Sørg for at tilføje Python til systemets PATH under installationen.







  1. Vælg en IDE- eller teksteditor

Enhver teksteditor kan bruges til at bygge Python-scripts. Alligevel kan de integrerede udviklingsmiljøer (IDE'er), inklusive PyCharm, Visual Studio Code eller Jupyter Notebook, forbedre processen med værktøjer som syntaksfremhævning og fejlretning. Vi bruger dog Notepad++ i denne artikel.



  1. Bestem den opgave, der skal automatiseres

Dette kan involvere alt fra at sende bulk-e-mails, oprette rapporter, downloade filer og lave sikkerhedskopier.



  1. Undersøg bibliotekerne og funktionerne

Se på de funktioner og biblioteker, der kan automatisere underopgaverne.





  1. Skriv scriptet i Python

Det er her, vi samler alle brikkerne for at skabe et komplet arbejdsmanuskript.

  1. Opgave

Automatiser genereringen af ​​rapporter fra de data, der er gemt i et regneark.



  1. Python script

Vi kan bruge et Python-script til at læse dataene fra et regneark og generere rapporter i en række forskellige formater såsom PDF, HTML eller CSV. Derudover kan scriptet bruges til automatisk at distribuere rapporterne til interessenter via e-mail eller Slack.

Det kræver flere trin at oprette rapporter ved hjælp af regnearksdataene. Vi giver dig et forenklet Python-script, der bruger Pandas-biblioteket til at læse dataene fra et Excel-regneark og oprette en CSV-rapport. Husk, at vi kan bygge videre på dette script for at producere mere indviklede rapporter i andre formater og automatisere e-mail- eller Slack-meddelelser efter behov.

Installer de nødvendige biblioteker

Før vi kører scriptet, skal vi installere Pandas-biblioteket, hvis det ikke er installeret endnu:

pip installere pandas openpyxl

Python-koden har en funktion kaldet gener_report(), som tager to argumenter: stien til et Excel-regneark, der indeholder medarbejdernes løndata, og stien til en CSV-fil, hvor rapporten skal gemmes.

Funktionen læser først Excel-regnearket ind i et Pandas DataFrame-objekt. Derefter udfører den databehandling og analyse efter behov. Summen af ​​kolonnen 'Løn' beregnes i dette tilfælde af funktionen.

Dernæst opretter funktionen en rapportstreng, der indeholder den samlede løn for alle medarbejdere. Til sidst gemmer funktionen rapporten i en CSV-fil.

Kodens hovedfunktion specificerer input Excel-filen og outputrapportfilen og kalder derefter funktionen gener_report() for at oprette rapporten.

GenReport.py:
importere pandaer som pd_obj
def generere_rapport ( emp_salary_data, emp_salary_report_file ) :
prøve:
# Læs data fra Excel-regnearket
df_obj = pd_obj.read_excel ( emp_løn_data )
# Udfør databehandling og analyse efter behov
# For nemheds skyld, lad os antage, at vi ønsker at beregne summen af ​​en kolonne
løn_total = df_obj [ 'Løn' ] .sum ( )
# Opret en rapport
lønrapport = f 'Samlet af alle ansattes lønninger: {salary_total}'
# Gem rapporten i en CSV-fil
med åben ( emp_salary_report_file, 'I' ) som csv_obj:
csv_obj.write ( lønrapport )

Print ( f 'Rapport genereret og gemt i {emp_salary_report_file}' )
undtagen Undtagelse som eks:
Print ( f 'Der opstod en fejl: {str(e)}' )
hvis __navn__ == '__main__' :
# Angiv input Excel-filen og outputrapportfilen
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'lønsum.csv'
# Kald funktionen generere_rapport for at oprette rapporten
generere_rapport ( emp_løn_data, emp_salary_report_file )

Her er dataene i input medarbejderfil:

Test scriptet

Vi skal grundigt teste scriptet efter det er skrevet for at sikre, at det fungerer efter hensigten. Vi bruger Python-kompileren til at teste filen, som vi automatiserer. I dette tilfælde genererer og gemmer denne fil rapporten i en CSV-fil.

Planlæg eller udløs scriptet

Afhængigt af kravene til automatisering kan vi udføre Python-scriptet på forskellige måder:

  • Manuel udførelse: Kør scriptet manuelt ved at udføre det i en IDE eller via kommandolinjen ved hjælp af følgende kommando: python GenerateReport.py .
  • Planlagte opgaver (Windows): Vi kan køre scriptet på bestemte tidspunkter eller intervaller ved hjælp af Windows Task Scheduler. Ved at bruge Windows-tjenesten kan vi også påkalde en bestemt begivenhed.
  • Cron Jobs (Linux/macOS): Vi kan bruge cron-job til at planlægge scriptet til at køre på bestemte tidspunkter på Unix-lignende systemer.
  • Hændelsesdrevet: Vi kan udløse dit script som reaktion på specifikke begivenheder, såsom filændringer, ved at bruge biblioteker som watchdog eller ved at integrere med webhooks.

Automatisering af MySQL-sikkerhedskopi ved hjælp af Python

For at automatisere backup-processen af ​​en MySQL-server på en timeplan, kan vi bruge Python i kombination med 'mysqlclient'-biblioteket til at oprette forbindelse til MySQL-databasen og lave sikkerhedskopier, og vi kan bruge en opgaveplanlægger som Cron (på Unix-baseret systems) for at køre Python-scriptet med timeintervaller. Følgende er et Python-script, som du kan bruge til dette formål:

Trin 1: Installer de nødvendige biblioteker

Vi skal installere 'mysqlclient'-biblioteket til MySQL-forbindelse. Vi kan installere det ved hjælp af pip:

Pip installere mysqlclient

pip installere configparser

Trin 2: Opret en konfigurationsfil

Opret en tekstfil (f.eks. mysqlconfig.ini) for at gemme dine MySQL-forbindelsesoplysninger, inklusive adgangskoden. Her er et eksempel på, hvordan filen 'mysqlconfig.ini' kan se ud:

[ mysql ]
mySQL_DB_HOST = lokalvært
mySQL_DB_USERNAME = root
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = brandsw9_data

Trin 3: Bekræft MySQL Bin Directory :

Kommandoen 'mysqldump' skal være placeret i MySQL bin-mappen. Bekræft, at systemets PATH inkluderer bin-mappen. Vi kan ændre PATH-miljøvariablen til at inkludere MySQL bin-placeringen.

På Windows: Vi kan redigere systemets PATH ved at udforske efter 'Environment Variables' i 'Start'-menuen og tilføje MySQL bin-mappen (f.eks. C:\Program Files\MySQL\MySQL Server X.X\bin) til PATH-variablen.

Trin 3: Skriv Python-scriptet

Opret et Python-script, f.eks. MySQLBackup.py, for at automatisere MySQL-sikkerhedskopiprocessen. Udskift pladsholderne med databaseforbindelsesdetaljerne og filstierne efter behov.

import underproces som sp
fra datetime import datetime som dt_obj
import configparser som mysql_confg
# MySQL-databaseforbindelsesdetaljer
# Indlæs MySQL-forbindelsesdetaljer fra konfigurationsfilen
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' ) # Juster stien om nødvendigt
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' )
# Sikkerhedskopieringsbibliotek
bk_dir = 'backup_directory/'
# Få den aktuelle dato og tid for backup-filnavnet
tidsstempler = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Definer backupfilnavnet
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:
# Udfør MySQL dump-kommandoen for at oprette en sikkerhedskopi
sp.løb ( mysql_dump_cmd, skal = Sandt, kontrollere = Sandt )
Print ( f 'Sikkerhedskopiering fuldført og gemt som '{my_sql_bk}' i '{bk_dir}'' )
undtagen sp.CalledProcessError som Det er:
Print ( f 'Fejl ved oprettelse af backup: {str(e)}' )

Trin 4: Test og udfør koden

Trin 5: Planlæg scriptet med Windows Task Scheduler

Lad os nu planlægge Python-scriptet til at køre automatisk ved hjælp af Windows Task Scheduler:

Start Windows Task Scheduler ved at skrive 'Task Scheduler' i 'Start' menuens søgelinje eller ved at skrive 'taskschd.msc' i 'Kør' dialogboksen (Win + R).

Vælg 'Task Scheduler Library' fra venstre rude i Task Scheduler.

I den højre rude skal du klikke på 'Opret grundlæggende opgave...' for at åbne guiden 'Opret grundlæggende opgave'.

Indtast et opgavenavn og en beskrivelse. Tryk derefter på 'Næste'.

Vælg 'Daglig' som triggertype (selvom du vil køre den hver time, giver dette dig mulighed for at indstille et gentagelsesinterval). Klik derefter på 'Næste'.

Angiv startdato og -tidspunkt for sikkerhedskopieringsopgaven.

Vælg 'Gentag opgave hver:', og indstil den til 1 time.

Indstil varigheden til '1 dag'. Klik derefter på 'Næste'.

Vælg 'Start et program', og tryk derefter på 'Næste'.

Gennemse og vælg Python eksekverbare (python.exe) ved at klikke på 'Gennemse'.

Gennemse og vælg Python eksekverbare (python.exe) ved at klikke på 'Gennemse'.

Indtast den fulde sti til dit Python-script (f.eks. C:\path\to\mysql_backup.py) i feltet 'Tilføj argumenter'.

Indtast den mappe, der indeholder dit Python-script (f.eks. C:\path\to\) i feltet 'Start in (valgfrit)'.

Klik på 'Næste'.

Gennemgå opgaveindstillingerne, og klik på 'Udfør' for at oprette opgaven.

Konklusion

Vi kan bygge pålidelige og effektive automatiseringsscripts, der skærer tiden ud af arbejdsgange og afsætter det til vigtigere aktiviteter ved at bruge Pythons værktøjer og dets bedste praksis. Vi har givet nogle eksempler, der helt sikkert vil hjælpe dig med at automatisere dine opgaver ved hjælp af Python-scripts.