Planlegge oppgaver ved hjelp av python

Planlegge oppgaver ved hjelp av python
Noen oppgaver i livet vårt er virkelig tid på å ta, og vi kjeder oss å gjøre disse oppgavene gjentatte ganger. For å unngå de kjedelige oppgavene automatiserer vi 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 du automatiserer 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 bruk av Python. På slutten vil vi se hvordan vi kan planlegge Python -skriptet vårt automatisk ved oppstart.

Hvorfor vi automatiserer 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

  • Først og den viktigste fordelen med automatisering er å spare tid.
  • Vi kan øke effektiviteten av arbeidet vårt (jeg.e. Mer arbeid på kortere tid)
  • Nøyaktigheten av oppgavene planlagt kan forbedres.
  • Ved å automatisere ting reduseres menneskelig interaksjon med systemet slik at kjedelige ting er automatisert.

Automatisering med Python

Det er noen mange skriptspråk som bash, perl osv. For å automatisere manuelle prosesser, men Python gir gjennomførbart miljø for å håndtere våre behov. Det er lettere å automatisere ting ved å bruke Python -programmeringsspråk enn på noe annet språk. Python har mange automatiseringsmoduler (i.e. Subprocess, Shutil, OS, Pyautogui, Selenium etc.) som kan brukes i automatisering. Vi vil se noen brukssaker om hvordan vi automatiserer tingene våre.

Automatiseringsmoduler i Python

Her vil vi diskutere noen automatiseringsmoduler i Python som OS, Subprocess, 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 bygde funksjonene til disse modulene er gitt nedenfor

  • chdir () \\ for å endre katalog
  • mkdir () \\ for å lage ny katalog
  • gi nytt navn til () \\ 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
  • ring () \\ for å kjøre systemkommandoer

på samme måte Shutil Modulen har mange funksjoner som gjør det mulig å samhandle med systemet. Noen funksjoner av denne modulen er gitt nedenfor

  • flytt () \\ for å flytte en fil
  • copy () \\ for å kopiere en fil
  • rmtree () \\ for å fjerne alle filer i katalog og underkataloger

DATO TID Modul brukes til å finne gjeldende dato og tid. Det 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 følgende brukssaker vil vi bruke den til å finne bare gjeldende dato og klokkeslett.

  • dato tid.i dag () \\ for å finne gjeldende dato og Tid

Selen Modul brukes til å automatisere vår logging av nettstedet vårt. Vi kan automatisk logge på nettstedet vårt og oppdatere det ved hjelp av Selen modul. Selen har mange bygde funksjoner som brukes til å utføre forskjellige oppgaver relatert 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 syntaks for å kjøre systemkommando i Python

OS.system ('kommando')

ELLER

underprosess.ring ('kommando')

Hvis vi for eksempel vil liste opp alle filene og katalogene i den gjeldende katalogen, kjører vi følgende kommando i Python -skriptet

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 brukssaker om å automatisere tingene våre. Vi vil diskutere ordningen av filer i nedlastingskatalogen og oppbevare en sikkerhetskopi av våre viktige filer.

Ordne filer i nedlastingskatalogen

Når vi laster ned en hvilken som helst type fil, går den som standard i nedlastingskatalog. Når vi må finne noen fil, kan det forårsake problem, da det er mange typer filer blandet i nedlastingskatalog. Nå skal vi skrive et Python -skript for å automatisere systemet på en slik måte at forskjellige typer filer (e.g. mp3, png, xls osv.) Går i forskjellige kataloger. Komplett 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 (e.g… mp3 -fil vil gå inn i 'lyd' katalog).

Importer OS
Import stengt
Importer DateTime
mens 1:
#beregning av nåværende time, minutt og andre
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]
# Forsikre deg om at systemet vil ordne filer kl. 08:00
Hvis Current_hour == '08' og Current_minute == '00' og Current_sec == '00':
# Endring av katalog til nedlasting
OS.chdir ("path_to_download_directory")
# Lagre 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:
# Opprette "lyd" -katalog hvis ikke eksisterer
Hvis ikke OS.sti.eksisterer ('lyd'):
OS.mkdir ('lyd')
# Flytting av fil i 'Audio' -katalog
Shutil.Flytt (filnavn, 'Audio')
# Velge MP4 -filer
elif '.mp4 'i filnavn:
# Opprette "Video '-katalog hvis ikke eksisterer
Hvis ikke OS.sti.eksisterer ('video'):
OS.mkdir ('video')
# Flytting av fil i 'Video' -katalog
Shutil.Flytt (filnavn, 'Video')
# Velge PDF -filer
elif '.PDF 'i filnavn:
# Opprette "PDF" -katalog hvis ikke eksisterer
Hvis ikke OS.sti.eksisterer ('pdf'):
OS.mkdir ('pdf')
# Flytting av fil i PDF -katalogen
Shutil.Flytt (filnavn, 'PDF')
# Velge JPG- og PNG -filer
elif '.jpg 'i filnavn eller'.png 'i filnavn:
# Lage "Pictures" -katalog hvis ikke eksisterer
Hvis ikke OS.sti.eksisterer ('bilder'):
OS.mkdir ('bilder')
# Flytte fil i "Pictures" -katalog
Shutil.Flytt (filnavn, 'bilder')
# Velge Excel -filer
elif '.XLS 'i filnavn:
# Opprette "Excel" -katalog hvis ikke eksisterer
Hvis ikke OS.sti.eksisterer ('Excel'):
OS.Mkdir ('Excel')
# Flytting av fil i 'Excel' katalog
Shutil.Flytt (filnavn, 'Excel')
# velg '.ppt 'filer
elif '.ppt 'i filnavn:
# Opprette "Power Point" -katalog hvis ikke eksisterer
Hvis ikke OS.sti.eksisterer ('Power Point'):
OS.Mkdir ('Power Point')
# Flytting av fil i "Power Point" -katalog
Shutil.Flytt (filnavn, 'Power Point')
# velg '.Docs 'filer
elif '.docx 'i filnavn:
# Opprette katalog for ordfil 'hvis ikke eksisterer
Hvis ikke OS.sti.eksisterer ('ordfil'):
OS.mkdir ('ordfil')
# Flytte fil i 'Word File' -katalogen
Shutil.Flytt (filnavn, 'ordfil')

Først av alt vil vi spare 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 vil kjøre koden hvis tiden er '08: 00 ', så kjøres hovedkoden. I hovedkode, først og fremst endrer vi katalogen vår for å laste ned katalog. Her lagrer vi alle filnavn i en liste som heter filer. Nå skal vi lese alle filene en etter en og filtrere ut bare filer. Vi vil bare ignorere kataloger som vi 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 'lydkatalogen 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 deres tilsvarende kataloger.

Denne koden kjøres kontinuerlig og fortsetter å sjekke om tiden er '08: 00 'eller ikke. Hver dag på '08: 00 'vil filer ordnes automatisk. Denne koden kan planlegges å kjøre hver gang du starter systemet ditt med Crontab. Crontab er blitt forklart nedenfor.

Sikkerhetskopier filene dine automatisk 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 typen situasjoner er det viktig å lage en sikkerhetskopi av filene dine. Men å lage en sikkerhetskopi av filene dine er virkelig kjedelig og tid til å ta oppgaven. Denne oppgaven kan gjøres automatisk ved å skrive et Python -skript. Følgende er koden for å utføre denne oppgaven. Denne koden konverterer hver fil til ZIP -fil, så vil den opprette en sikkerhetskopieringskatalog hvis ikke eksisterer. Etter dette vil ZIP -filen bli flyttet i sikkerhetskopieringskatalog.

Importer OS
Importer DateTime
mens 1:
# Sparer dagens 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]
# Forsikre deg om at koden kjøres på 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')
# Lagre alle filnavn i en liste
Filer = OS.ListDir (OS.getCwd ())
# Opprette "Backup" -katalog hvis ikke eksisterer
Hvis ikke OS.sti.eksisterer ('backup'):
OS.mkdir ('backup')
for fil i filer:
# ignorerer kataloger
Hvis ikke OS.sti.ISDIR (fil):
# Definere et filnavn uten mellomrom
original_name = fil
fil = fil.split ("")
file_name = "".Bli med (fil)
# Definere zip_filename
zip_file_name = file_name+".glidelås"
# Kontroller om filen allerede eksisterer i sikkerhetskopieringskatalog eller ikke
Hvis ikke OS.sti.eksisterer ('backup/'+zip_file_name):
# Endre filnavn uten mellomrom
OS.gi nytt navn (originalnavn, filnavn)
# Opprette zip -fil ved hjelp av systemkommando
OS.system ("zip"+zip_file_name+""+file_name)
#Moving ZIP -fil i sikkerhetskopieringskatalog ved hjelp av systemkommando
OS.system ("mv"+zip_file_name+"backup")
# Endre filnavn til det opprinnelige navnet
OS.gi nytt navn (filnavn, originalnavn)

Først av alt vil vi spare dagens tid i variabler, og så vil vi sjekke om tiden er '08: 00 'eller ikke. Hvis tiden er nøyaktig '08: 00 ', vil hovedskriptet kjøres. I hovedkoden, først og fremst, går vi til katalogen der viktige filer er til stede. Så lagrer vi alle filnavnene i en liste. Nå lager vi en katalog 'sikkerhetskopi' der vi lagrer alle zip -filene. Hvis denne katalogen allerede eksisterer, vil vi ignorere dette. Nå skal vi lese hver fil og sjekke om dette er filer eller ikke. Kataloger vil bli ignorert og filer vil bli vurdert.

For å opprette en ZIP -fil av en fil ved hjelp av System -kommandoen, vil vi først og fremst gi nytt navn til denne filen uten mellomrom som et filnavn med mellomrom, anses som en annen fil på hvert rom, når du kjører inn i en systemkommando ved hjelp av Python -skript. Navnet på filen lagres i en variabel 'original_filename', og filen blir omdøpt uten mellomrom. Nå vil vi definere ZIP -filnavnet samme som filens navn med utvidelse '.glidelås'.

Etter dette vil vi bruke System Command 'ZIP' for å zip denne filen, og så flytter vi denne ZIP -filen i 'Backup' -katalog ved hjelp av System Command 'MV'. Da vil vi igjen gi nytt navn til filen med det opprinnelige navnet med mellomrom i den. Denne koden vil være planlagt på systemet som skal kjøres hver gang automatisk når du starter systemet med Crontab.

Automatiserer å kjøre et skript ved hjelp av crontab

Vi har skrevet automatiseringsskriptene ovenfor. Nå vil vi kjøre disse skriptene automatisk når systemet vårt starter på nytt. For å gjøre det, legger vi til skriptet vårt i crontab. For å legge til oppgave i crontab gjør følgende trinn

Først av alt, skriv inn følgende kommando for å redigere Crontab -filen

ubuntu@ubuntu: ~ $ crontab -e

-e flagg betyr åpen crontab i redigeringsmodus. Etter å ha åpnet Crontab -filen nå, 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 kjører Python -skript automatisk hver gang du starter opp systemet ditt.

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 de enkle oppgavene du gjør hver dag. Du bør absolutt søke etter flere Python -biblioteker og funksjoner for bedre og enkel automatisering.