Python

Planlegge oppgaver ved hjelp av Python

Planlegge oppgaver ved hjelp av Python
Noen oppgaver i livet vårt tar virkelig tid og vi kjeder oss å gjøre disse oppgavene gjentatte ganger. For å unngå de kjedelige oppgavene automatiserer vi disse oppgavene i systemet vårt. Python har mange automatiseringsmoduler som kan brukes til å automatisere tingene våre. Nedenfor vil vi diskutere viktigheten av automatisering og hvordan vi kan automatisere tingene våre ved hjelp av python. Vi vil også diskutere noen automatiseringsmoduler i python som hjelper til med å automatisere tingene våre. Så vil vi se noen brukstilfeller av automatisering ved hjelp av python. På slutten vil vi se hvordan vi kan planlegge at python-skriptet skal kjøre automatisk ved oppstart.

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

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

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

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.

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 os
importere 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 os
importer 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 / script

Dette 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.

Beste Linux Distros for spill i 2021
Linux-operativsystemet har kommet langt fra det originale, enkle, serverbaserte utseendet. Dette operativsystemet har forbedret seg enormt de siste år...
Hvordan fange opp og streame spilløkten din på Linux
Tidligere ble spill bare ansett som en hobby, men med tiden så spillindustrien en enorm vekst når det gjelder teknologi og antall spillere. Spillpubli...
Beste spill å spille med håndsporing
Oculus Quest introduserte nylig den gode ideen om håndsporing uten kontrollere. Med et stadig økende antall spill og aktiviteter som utfører støtte en...