Hvorfor automatiserer vi vores ting
Automatisering af vores ting kan gøre vores liv lettere. Det har mange fordele, men nogle vigtige fordele ved automatisering er angivet nedenfor
- Den første og vigtigste fordel ved automatisering er at spare tid.
- Vi kan øge effektiviteten af vores arbejde (i.e. mere arbejde på kortere tid)
- Nøjagtigheden af de planlagte opgaver kan forbedres.
- Ved at automatisere ting reduceres menneskelig interaktion med systemet, så kedelige ting automatiseres.
Automatisering med Python
Der er nogle mange script-sprog som bash, perl osv. for at automatisere manuelle processer, men python giver mulige miljøer til at håndtere vores behov. Det er lettere at automatisere ting ved hjælp af Python-programmeringssprog end på noget andet sprog. Python har mange automatiseringsmoduler (i.e. underproces, shutil, os, pyautogui, selen etc.), der kan bruges i automatisering. Vi vil se nogle brugssager om, hvordan vi automatiserer vores ting.
Automatiseringsmoduler i Python
Her vil vi diskutere nogle automatiseringsmoduler i python-lignende OS, SUBPROCESS, SHUTIL, DATETIME, SELENIUM etc. Disse moduler bruges til at udføre systemkommandoer og kan også bruges til at manipulere systemkataloger. Disse moduler har indbyggede funktioner, der gør det lettere at udføre opgaver på systemet.
OS og UNDERPROCESS moduler bruges til næsten det samme formål. Nogle af de indbyggede funktioner i disse moduler er angivet nedenfor
- chdir () \\ For at ændre bibliotek
- mkdir () \\ For at oprette en ny mappe
- omdøb () \\ For at omdøbe en fil
- listdir () \\ For at liste alle filer og mapper
- getcwd () \\ At kende vores nuværende bibliotek
- system () \\ At køre systemkommandoer
- call () \\ For at køre systemkommandoer
Tilsvarende SHUTIL modulet har mange funktioner, der gør det muligt at interagere med systemet. Nogle funktioner i dette modul er angivet nedenfor
- move () \\ For at flytte en fil
- copy () \\ For at kopiere en fil
- rmtree () \\ For at fjerne alle filer i Directory og underkataloger
DATO TID modul bruges til at finde den aktuelle dato og tid. Det bruges også til at finde ugedag og mange andre ting. Vi kan planlægge vores opgave til enhver tid og dato ved hjælp af dette modul. I de følgende brugssager bruger vi det til kun at finde aktuel dato og tid.
- dato tid.i dag () \\ For at finde den aktuelle dato og Tid
SELENIUM Modul bruges til at automatisere vores webstedslogning i processen. Vi kan automatisk logge ind på vores websted og opdatere det ved hjælp af SELENIUM modul. SELENIUM har mange indbyggede funktioner, der bruges til at udføre forskellige opgaver relateret til browsere.
Sådan udføres systemkommandoer i Python
Vi kan køre systemkommandoer i python ved hjælp af OS og UNDERPROCESS moduler. Følgende er syntaksen for at køre systemkommando i python
os.system ('kommando')ELLER
underproces.kald ('kommando')For eksempel, hvis vi vil liste alle filer og mapper i den aktuelle mappe, kører vi følgende kommando i python-script
os.system ('ls')ELLER
underproces.ring ('ls')Sådan automatiseres ting med Python
Python kan bruges til at automatisere mange slags daglige opgaver, som kan spare tid. Her vil vi se nogle brugssager til automatisering af vores ting. Vi vil diskutere arrangering af filer i downloadmappen og holde en sikkerhedskopi af vores vigtige filer.
Arrangering af filer i Download Directory
Når vi downloader enhver filtype, går den som standard ind i Download-biblioteket. Når vi skal finde en fil, kan det forårsage problemer, da der er mange typer filer blandet i Download-biblioteket. Nu skriver vi et python-script for at automatisere systemet på en sådan måde, at forskellige typer filer (f.eks.g. mp3, png, xls osv.) findes i forskellige mapper. Den komplette kode er angivet nedenfor. Denne kode kontrollerer hver filtype en efter en, så opretter den tilsvarende mappe. Herefter flyttes filen til relaterede mapper (f.eks.g ... mp3-fil går ind i 'Audio' -mappen).
importer osimportere shutil
importer datatid
mens 1:
#beregner den aktuelle time, minut og sekund
i dag = datetime.dato tid.i dag()
i dag = str (i dag)
current_hour = i dag [11:13]
current_minute = i dag [14:16]
current_sec = i dag [17:19]
# sørger for, at systemet arrangerer filer kl. 08:00
hvis current_hour == '08' og current_minute == '00' og current_sec == '00':
# skifter bibliotek for at downloade
os.chdir ("path_to_Download_directory")
# gemmer alle filnavne på en liste
filer = os.listdir (os.getcwd ())
til filnavn i filer:
# ignorerer mapper
hvis ikke os.sti.isdir (filnavn):
# valg af mp3-filer
hvis '.mp3 'i filnavn:
# opretter 'Audio' -mappe, hvis den ikke findes
hvis ikke os.sti.findes ('Audio'):
os.mkdir ('Audio')
# flytter fil i 'Audio' -mappen
shutil.flyt (filnavn, 'Audio')
# valg af mp4-filer
elif '.mp4 'i filnavn:
# opretter 'Video' -mappe, hvis den ikke findes
hvis ikke os.sti.findes ('Video'):
os.mkdir ('Video')
# flytter fil i 'Video' -mappen
shutil.flyt (filnavn, 'Video')
# valg af pdf-filer
elif '.pdf 'i filnavn:
# opretter 'PDF' -mappe, hvis den ikke findes
hvis ikke os.sti.findes ('PDF'):
os.mkdir ('PDF')
# flytter fil i PDF-bibliotek
shutil.flyt (filnavn, 'PDF')
# valg af jpg- og png-filer
elif '.jpg 'i filnavn eller'.png 'i filnavn:
# opretter 'Pictures' -mappe, hvis den ikke findes
hvis ikke os.sti.findes ('Billeder'):
os.mkdir ('Billeder')
# flytter fil i mappen 'Billeder'
shutil.flyt (filnavn, 'Billeder')
# valg af excel-filer
elif '.xls 'i filnavn:
# opretter 'Excel' -mappe, hvis den ikke findes
hvis ikke os.sti.findes ('Excel'):
os.mkdir ('Excel')
# flytter fil i 'Excel' -mappen
shutil.flyt (filnavn, 'Excel')
# vælger '.ppt 'filer
elif '.ppt 'i filnavn:
# opretter 'Power Point' -katalog, hvis den ikke findes
hvis ikke os.sti.findes ('Power Point'):
os.mkdir ('Power Point')
# flytter fil i 'Power Point' -mappen
shutil.flytte (filnavn, 'Power Point')
# vælger '.docs 'filer
elif '.docx 'i filnavn:
# opretter 'Word File' -mappe, hvis den ikke findes
hvis ikke os.sti.findes ('Word File'):
os.mkdir ('Word File')
# flytter fil i 'Word File' -mappen
shutil.flyt (filnavn, 'Word File')
Først og fremmest gemmer vi den aktuelle tid i forskellige variabler, så kontrollerer vi, om tiden er nøjagtig '08: 00 'eller ej. Programmet kontrollerer klokkeslættet hver dag og kører koden, hvis tiden er '08: 00 ', så kører hovedkoden. I hovedkoden ændrer vi først og fremmest vores bibliotek til Download-bibliotek. Her gemmer vi alle filnavne på en liste med filer. Nu vil vi læse alle filerne en efter en og kun filtrere filer ud. Vi ignorerer mapper, da vi kun vil arrangere filer.
Nu vil vi kontrollere hver filtype, om det er mp3, mp4, jpg, pdf, xls, ppt og docx eller ej. Efter kontrol af hver filtype vil vi kontrollere, om der findes en tilsvarende mappe eller ej. For eksempel, hvis filen er mp3, vil vi kontrollere 'Audio' -mappen findes eller ikke. Hvis den tilsvarende mappe ikke findes, opretter vi mappen. Efter oprettelse af mappe flytter vi vores fil i den mappe. På denne måde kan alle filerne flyttes til deres tilsvarende mapper.
Denne kode kører kontinuerligt og fortsætter med at kontrollere, om klokken er '08: 00 'eller ikke. Hver dag kl. 08.00 arrangeres filer automatisk. Denne kode kan planlægges kørt hver gang du starter dit system ved hjælp af crontab. Crontab er forklaret nedenfor.
Sikkerhedskopier automatisk dine filer ved hjælp af systemkommandoer
Du har nogle vigtige filer i en mappe, der er relateret til dit projekt, og på en eller anden måde slettes nogle filer. Hvad skal du så gøre? I denne slags situation er det vigtigt at oprette en sikkerhedskopi af dine filer. Men at oprette en sikkerhedskopi af dine filer er virkelig kedeligt og tidskrævende. Denne opgave kan udføres automatisk ved at skrive et python-script. Følgende er koden til at udføre denne opgave. Denne kode konverterer hver fil til zip-fil, så opretter den en sikkerhedskopimappe, hvis den ikke findes. Herefter flyttes zip-filen i sikkerhedskopimappen.
importer osimporter datatid
mens 1:
# sparer aktuel tid
i dag = datetime.dato tid.i dag()
i dag = str (i dag)
current_hour = i dag [11:13]
current_minute = i dag [14:16]
current_sec = i dag [17:19]
# sørger for, at koden kører nøjagtigt '08: 00 '
hvis current_hour == '08' og current_minute == '00' og current_sec == '00':
# skifter bibliotek til dokumenter
os.chdir ('path_to_documents_directory')
# gemmer alle filnavne på en liste
filer = os.listdir (os.getcwd ())
# opretter 'backup' -mappe, hvis den ikke findes
hvis ikke os.sti.findes ('backup'):
os.mkdir ('backup')
til fil i filer:
# ignorerer mapper
hvis ikke os.sti.isdir (fil):
# definerer et filnavn uden mellemrum
original_name = fil
fil = fil.split ("")
file_name = "".deltage (fil)
# definerer zip_filnavn
zip_file_name = filnavn + ".zip "
# kontrollerer, om der allerede findes en fil i sikkerhedskopimappen eller ej
hvis ikke os.sti.findes ('backup /' + zip_file_name):
# ændring af filnavn uden mellemrum
os.omdøb (originalnavn, filnavn)
# opretter zip-fil ved hjælp af systemkommandoen
os.system ("zip" + zip_filnavn + "" + filnavn)
#moving zip-fil i sikkerhedskopimappen ved hjælp af systemkommandoen
os.system ("mv" + zip_filnavn + "backup")
# skifter filnavn til dets oprindelige navn
os.omdøb (filnavn, originalnavn)
Først og fremmest gemmer vi den aktuelle tid i variabler, og derefter kontrollerer vi, om tiden er '08: 00 'eller ej. Hvis tiden er nøjagtig '08: 00 ', kører hovedscriptet. I hovedkoden går vi først og fremmest til den mappe, hvor vigtige filer er til stede. Derefter gemmer vi alle filnavne på en liste. Nu opretter vi en mappe 'backup', hvor vi gemmer alle zip-filerne. Hvis denne mappe allerede findes, vil vi ignorere dette. Nu vil vi læse hver fil og kontrollere, om det er filer eller ej. Kataloger ignoreres, og filer overvejes.
For at oprette en zip-fil af en fil ved hjælp af systemkommandoen omdøber vi først og fremmest denne fil uden mellemrum, da et filnavn med mellemrum betragtes som en anden fil i hvert rum, når vi løber ind i en systemkommando ved hjælp af python-script. Filens navn gemmes i en variabel 'original_filename', og filen omdøbes uden mellemrum. Nu definerer vi zip-filnavnet samme som filens navn med udvidelse '.zip '.
Herefter bruger vi systemkommandoen 'zip' til at zip denne fil, og derefter flytter vi denne zip-fil i 'backup' -mappen ved hjælp af systemkommandoen 'mv'. Derefter omdøber vi igen filen med dens originale navn med mellemrum i den. Denne kode vil blive planlagt på systemet til at køre hver gang automatisk, når du starter dit system ved hjælp af crontab.
Automatiser kørsel af et script ved hjælp af Crontab
Vi har skrevet automatiseringsskripterne ovenfor. Nu vil vi køre disse scripts automatisk, når vores system genstarter. For at gøre dette tilføjer vi vores script i crontab. For at tilføje en opgave i crontab gør du følgende trin
Skriv først følgende kommando for at redigere crontab-fil
ubuntu @ ubuntu: ~ $ crontab -e-e-flag betyder åben crontab i redigeringstilstand. Efter åbning af crontab-fil vil vi nu tilføje vores opgave i denne fil ved hjælp af følgende kommando i slutningen af filen
@reboot python / sti / til / python / scriptDette kører automatisk python-script hver gang du starter dit system.
Konklusion
I denne artikel er betydningen af automatisering i det praktiske liv blevet forklaret. Ved at læse denne artikel får du en idé om, hvordan du kan automatisere dine enkle opgaver, som du udfører hver dag. Du bør bestemt søge efter flere pythonbiblioteker og funktioner for bedre og nem automatisering.