Hvorfor automatiserer vi tingene våre
Automatisering av tingene våre kan gjøre livet vårt enklere. Det har mange fordeler, men noen viktige fordeler med automatisering er gitt nedenfor
- Den første og viktigste fordelen med automatisering er å spare tid.
- Vi kan øke effektiviteten i arbeidet vårt (i.e. mer arbeid på kortere tid)
- Nøyaktigheten av de planlagte oppgavene kan forbedres.
- Ved å automatisere ting reduseres menneskelig interaksjon med systemet så kjedelige ting blir automatisert.
Automatisering med Python
Det er mange skriptspråk som bash, perl osv. for å automatisere manuelle prosesser, men python gir mulige miljøer for å håndtere våre behov. Det er lettere å automatisere ting ved hjelp av Python-programmeringsspråk enn på noe annet språk. Python har mange automatiseringsmoduler (i.e. underprosess, shutil, os, pyautogui, selen etc.) som kan brukes i automatisering. Vi vil se noen bruksområder for hvordan vi automatiserer tingene våre.
Automatiseringsmoduler i Python
Her vil vi diskutere noen automatiseringsmoduler i python som OS, UNDERPROSESS, SHUTIL, DATETIME, SELENIUM etc. Disse modulene brukes til å utføre systemkommandoer og kan også brukes til å manipulere systemkataloger. Disse modulene har innebygde funksjoner som gjør det lettere å utføre oppgaver på systemet.
OS og UNDERPROSESS moduler brukes til nesten samme formål. Noen av de innebygde funksjonene til disse modulene er gitt nedenfor
- chdir () \\ For å endre katalog
- mkdir () \\ For å opprette ny katalog
- endre navn på () \\ For å gi nytt navn til en fil
- listdir () \\ For å liste opp alle filer og kataloger
- getcwd () \\ For å kjenne vår nåværende katalog
- system () \\ For å kjøre systemkommandoer
- call () \\ For å kjøre systemkommandoer
på samme måte SHUTIL modulen har mange funksjoner som gjør det mulig å samhandle med systemet. Noen funksjoner i denne modulen er gitt nedenfor
- flytte () \\ For å flytte en fil
- copy () \\ For å kopiere en fil
- rmtree () \\ For å fjerne alle filer i katalog og underkataloger
DATO TID modulen brukes til å finne gjeldende dato og klokkeslett. Den brukes også til å finne ukedag og mange andre ting. Vi kan planlegge oppgaven vår når som helst og dato ved hjelp av denne modulen. I de følgende brukstilfellene vil vi bruke den til å bare finne nåværende dato og klokkeslett.
- dato tid.i dag () \\ For å finne nåværende dato og Tid
SELENIUM Modulen brukes til å automatisere nettstedsloggingen vår. Vi kan automatisk logge på nettstedet vårt og oppdatere det ved hjelp av SELENIUM modul. SELENIUM har mange innebygde funksjoner som brukes til å utføre forskjellige oppgaver knyttet til nettlesere.
Hvordan utføre systemkommandoer i Python
Vi kan kjøre systemkommandoer i python ved hjelp av OS og UNDERPROSESS moduler. Følgende er syntaksen for å kjøre systemkommandoen i python
os.system ('kommando')ELLER
underprosess.ring ('kommando')For eksempel, hvis vi vil liste opp alle filene og katalogene i den gjeldende katalogen, vil vi kjøre følgende kommando i python-skript
os.system ('ls')ELLER
underprosess.ring ('ls')Hvordan automatisere ting med Python
Python kan brukes til å automatisere mange slags daglige oppgaver som kan være tidsbesparende. Her vil vi se noen bruksområder for å automatisere tingene våre. Vi vil diskutere ordningen av filer i nedlastingskatalogen og holde en sikkerhetskopi av våre viktige filer.
Ordne filer i nedlastingskatalogen
Når vi laster ned hvilken som helst type fil, går den som standard inn i Last ned katalog. Når vi må finne noen fil, kan det føre til problemer, da det er mange typer filer blandet i nedlastningskatalogen. Nå skal vi skrive et pythonscript for å automatisere systemet på en slik måte at forskjellige typer filer (f.eks.g. mp3, png, xls etc) går i forskjellige kataloger. Fullstendig kode er gitt nedenfor. Denne koden vil sjekke hver filtype en etter en, så vil den opprette tilsvarende katalog. Etter dette vil den flytte filen til relaterte kataloger (f.eks.g ... mp3-fil vil gå inn i 'Audio' -katalogen).
importer osimportere shutil
importer datatid
mens 1:
#beregner nåværende time, minutt 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 ordner filer kl. 08:00
hvis current_hour == '08' og current_minute == '00' og current_sec == '00':
# skifter katalog for nedlasting
os.chdir ("path_to_Download_directory")
# lagrer alle filnavn i en liste
filer = os.listdir (os.getcwd ())
for filnavn i filer:
# ignorerer kataloger
hvis ikke os.sti.isdir (filnavn):
# velge mp3-filer
hvis '.mp3 'i filnavn:
# oppretter 'Audio' katalog hvis det ikke eksisterer
hvis ikke os.sti.eksisterer ('Audio'):
os.mkdir ('Audio')
# flytter fil i 'Audio' -katalogen
shutil.flytte (filnavn, 'Audio')
# velge mp4-filer
elif '.mp4 'i filnavn:
# oppretter 'Video' -katalog hvis den ikke eksisterer
hvis ikke os.sti.eksisterer ('Video'):
os.mkdir ('Video')
# flytter fil i 'Video' -katalogen
shutil.flytte (filnavn, 'Video')
# velge pdf-filer
elif '.pdf 'i filnavn:
# oppretter 'PDF' -katalog hvis den ikke eksisterer
hvis ikke os.sti.eksisterer ('PDF'):
os.mkdir ('PDF')
# flytter fil i PDF-katalog
shutil.flytte (filnavn, 'PDF')
# velge jpg- og png-filer
elif '.jpg 'i filnavn eller'.png 'i filnavn:
# oppretter katalogen 'Bilder' hvis den ikke eksisterer
hvis ikke os.sti.eksisterer ('Bilder'):
os.mkdir ('Bilder')
# flytter fil i katalogen 'Bilder'
shutil.flytte (filnavn, 'Bilder')
# velge excel-filer
elif '.xls 'i filnavn:
# oppretter 'Excel' -katalog hvis den ikke eksisterer
hvis ikke os.sti.eksisterer ('Excel'):
os.mkdir ('Excel')
# flytter fil i Excel-katalogen
shutil.flytt (filnavn, 'Excel')
# velger '.ppt-filer
elif '.ppt 'i filnavn:
# oppretter 'Power Point' -katalog hvis den ikke eksisterer
hvis ikke os.sti.eksisterer ('Power Point'):
os.mkdir ('Power Point')
# flytter fil i 'Power Point' -katalogen
shutil.flytte (filnavn, 'Power Point')
# velger '.dokumentfiler
elif '.docx 'i filnavn:
# oppretter 'Word File' katalog hvis det ikke eksisterer
hvis ikke os.sti.eksisterer ('Word File'):
os.mkdir ('Word File')
# flytter fil i 'Word File' -katalogen
shutil.flytte (filnavn, 'Word File')
Først og fremst vil vi lagre gjeldende tid i forskjellige variabler, så vil vi sjekke om tiden er nøyaktig '08: 00 'eller ikke. Programmet vil sjekke tiden hver dag og kjøre koden hvis tiden er '08: 00 ', så kjører hovedkoden. I hovedkoden, først og fremst endrer vi katalogen vår til Last ned katalog. Her lagrer vi alle filnavn i en liste med filer. Nå vil vi lese alle filene en etter en og kun filtrere ut filer. Vi vil ignorere kataloger da vi bare skal ordne filer.
Nå vil vi sjekke hver filtype om det er mp3, mp4, jpg, pdf, xls, ppt og docx eller ikke. Etter å ha sjekket hver filtype, vil vi sjekke om tilsvarende katalog eksisterer eller ikke. For eksempel, hvis filen er mp3, vil vi sjekke 'Audio' -katalogen eksisterer eller ikke. Hvis tilsvarende katalog ikke eksisterer, oppretter vi katalogen. Etter å ha opprettet katalog vil vi flytte filen vår i den katalogen. På denne måten kan alle filene flyttes til tilsvarende kataloger.
Denne koden vil kjøre kontinuerlig og fortsette å sjekke om tiden er '08: 00 'eller ikke. Hver dag kl. 08.00 arrangeres filer automatisk. Denne koden kan planlegges å kjøre hver gang du starter systemet ditt ved hjelp av crontab. Crontab er forklart nedenfor.
Sikkerhetskopier automatisk filene dine ved hjelp av systemkommandoer
Du har noen viktige filer i en katalog relatert til prosjektet ditt, og på en eller annen måte blir noen filer slettet. Så hva vil du gjøre? I denne situasjonen er det viktig å lage en sikkerhetskopi av filene dine. Men å lage en sikkerhetskopi av filene dine er veldig kjedelig og tidkrevende. Denne oppgaven kan gjøres automatisk ved å skrive et python-skript. Følgende er koden for å utføre denne oppgaven. Denne koden vil konvertere hver fil til zip-fil, og den vil opprette en sikkerhetskopikatalog hvis den ikke finnes. Etter dette flyttes zip-filen i sikkerhetskopikatalogen.
importer osimporter datatid
mens 1:
# sparer nåværende 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 vil kjøre nøyaktig '08: 00 '
hvis current_hour == '08' og current_minute == '00' og current_sec == '00':
# endre katalog til dokumenter
os.chdir ('path_to_documents_directory')
# lagrer alle filnavn i en liste
filer = os.listdir (os.getcwd ())
# oppretter 'backup' katalog hvis den ikke eksisterer
hvis ikke os.sti.eksisterer ('backup'):
os.mkdir ('backup')
for fil i filer:
# ignorerer kataloger
hvis ikke os.sti.isdir (fil):
# definerer et filnavn uten mellomrom
original_name = fil
fil = fil.split ("")
file_name = "".bli med (fil)
# defining zip_filename
zip_file_name = filnavn + ".glidelås"
# sjekker om filen allerede finnes i sikkerhetskopikatalogen eller ikke
hvis ikke os.sti.eksisterer ('backup /' + zip_file_name):
# endre filnavn uten mellomrom
os.endre navn (originalnavn, filnavn)
# oppretter zip-fil ved hjelp av systemkommandoen
os.system ("zip" + zip_filnavn + "" + filnavn)
#moving zip-fil i sikkerhetskopikatalogen ved hjelp av systemkommando
os.system ("mv" + zip_filnavn + "sikkerhetskopi")
# endre filnavn til det opprinnelige navnet
os.endre navn (filnavn, originalnavn)
Først og fremst vil vi lagre gjeldende tid i variabler, og deretter sjekke om tiden er '08: 00 'eller ikke. Hvis tiden er nøyaktig '08: 00 ', vil hovedskriptet kjøre. I hovedkoden går vi først og fremst til katalogen der viktige filer er tilstede. Deretter lagrer vi alle filnavnene i en liste. Nå vil vi lage en katalog 'backup' der vi lagrer alle zip-filene. Hvis denne katalogen allerede eksisterer, vil vi ignorere dette. Nå vil vi lese hver fil og sjekke om dette er filer eller ikke. Kataloger vil bli ignorert og filer vil bli vurdert.
For å lage en zip-fil av en fil ved hjelp av systemkommandoen, vil vi først og fremst gi nytt navn til denne filen uten mellomrom, da et filnavn med mellomrom betraktes som en annen fil i hvert rom, når vi kjører inn i en systemkommando ved hjelp av python-skript. Navnet på filen lagres i en variabel 'original_filnavn' og filen omdøpes uten mellomrom. Nå vil vi definere zip-filnavnet samme som filnavnet med utvidelsen '.glidelås'.
Etter dette vil vi bruke systemkommandoen 'zip' for å zip denne filen, og deretter vil vi flytte denne zip-filen i 'backup' katalog ved hjelp av systemkommandoen 'mv'. Deretter vil vi gi nytt navn til filen med dens opprinnelige navn med mellomrom i. Denne koden vil være planlagt på systemet til å kjøre hver gang automatisk når du starter systemet ditt med crontab.
Automatiser kjøring av et skript ved hjelp av Crontab
Vi har skrevet automatiseringsskriptene ovenfor. Nå vil vi kjøre disse skriptene automatisk når systemet starter på nytt. For å gjøre det legger vi til skriptet vårt i crontab. For å legge til oppgave i crontab gjør du følgende trinn
Først og fremst skriver du inn følgende kommando for å redigere crontab-filen
ubuntu @ ubuntu: ~ $ crontab -e-e-flagg betyr åpen crontab i redigeringsmodus. Etter å ha åpnet crontab-fil, vil vi legge til oppgaven vår i denne filen ved å bruke følgende kommando på slutten av filen
@reboot python / path / to / python / scriptDette vil kjøre python-skript automatisk hver gang du starter opp systemet.
Konklusjon
I denne artikkelen er viktigheten av automatisering i det praktiske livet blitt forklart. Ved å lese denne artikkelen får du en ide om hvordan du kan automatisere dine enkle oppgaver du gjør hver dag. Du bør definitivt søke etter flere pythonbiblioteker og funksjoner for bedre og enkel automatisering.