Piton

Programarea sarcinilor folosind Python

Programarea sarcinilor folosind Python
Unele sarcini din viața noastră durează cu adevărat și ne plictisim să le facem în mod repetat. Pentru a evita acele sarcini plictisitoare, automatizăm acele sarcini în sistemul nostru. Python are multe module de automatizare care pot fi utilizate pentru a automatiza lucrurile noastre. Mai jos vom discuta despre importanța automatizării și despre cum să ne automatizăm lucrurile folosind python. Vom discuta, de asemenea, câteva module de automatizare în python care ajută la automatizarea lucrurilor noastre. Apoi vom vedea câteva cazuri de utilizare a automatizării folosind python. La final vom vedea cum putem programa scriptul nostru Python pentru a rula automat la pornire.

De ce ne automatizăm lucrurile

Automatizarea lucrurilor noastre ne poate ușura viața. Are multe avantaje, dar câteva avantaje importante ale automatizării sunt prezentate mai jos

Automatizare cu Python

Există câteva limbaje de scripting, cum ar fi bash, perl etc. pentru a automatiza procesele manuale, dar Python oferă un mediu fezabil pentru a face față nevoilor noastre. Este mai ușor să automatizați lucrurile folosind limbajul de programare Python decât în ​​orice alt limbaj. Python are multe module de automatizare (i.e. subproces, shutil, os, pyautogui, seleniu etc.) care pot fi utilizate în automatizare. Vom vedea câteva cazuri de utilizare a modului în care ne automatizăm lucrurile.

Module de automatizare în Python

Aici vom discuta despre câteva module de automatizare în Python, cum ar fi OS, SUBPROCES, SHUTIL, DATETIME, SELENIUM etc. Aceste module sunt utilizate pentru a executa comenzi de sistem și pot fi, de asemenea, utilizate pentru a manipula directoare de sistem. Aceste module au funcții încorporate care facilitează efectuarea sarcinilor pe sistem.

OS și SUBPROCES modulele sunt utilizate în aproape același scop. Unele dintre funcțiile integrate ale acestor module sunt date mai jos

În mod similar SHUTIL modulul are multe funcții care permit interacțiunea cu sistemul. Unele funcții ale acestui modul sunt prezentate mai jos

DATETIME modulul este utilizat pentru a găsi data și ora curente. De asemenea, este folosit pentru a găsi ziua săptămânii și multe alte lucruri. Ne putem programa sarcina în orice moment și dată folosind acest modul. În următoarele cazuri de utilizare îl vom folosi pentru a găsi doar data și ora curente.

SELENIU Modulul este utilizat pentru automatizarea procesului de conectare a site-ului nostru web. Ne putem conecta automat la site-ul nostru web și îl putem actualiza folosind SELENIU modul. SELENIU are multe funcții integrate care sunt utilizate pentru a efectua diferite sarcini legate de browsere.

Cum se execută comenzi de sistem în Python

Putem rula comenzi de sistem în python folosind OS și SUBPROCES module. Urmează sintaxa pentru a rula comanda de sistem în python

os.sistem („comandă”)

SAU

subproces.apel („comandă”)

De exemplu, dacă vrem să listăm toate fișierele și directoarele din directorul curent, vom rula următoarea comandă în scriptul python

os.sistem ('ls')

SAU

subproces.call ('ls')

Cum se automatizează lucrurile cu Python

Python poate fi folosit pentru a automatiza mai multe tipuri de sarcini zilnice care pot economisi timp. Aici vom vedea câteva cazuri de utilizare a automatizării lucrurilor noastre. Vom discuta despre aranjarea fișierelor în directorul de descărcare și păstrarea unei copii de rezervă a fișierelor noastre importante.

Aranjarea fișierelor în directorul de descărcare

Când descărcăm orice tip de fișier, implicit acesta intră în directorul Descărcare. Când trebuie să găsim orice fișier, atunci poate cauza probleme, deoarece există multe tipuri de fișiere amestecate în directorul Descărcare. Acum vom scrie un script python pentru a automatiza sistemul în așa fel încât diferite tipuri de fișiere (e.g. mp3, png, xls etc) merge în diferite directoare. Codul complet este dat mai jos. Acest cod va verifica fiecare tip de fișier unul câte unul, apoi va crea directorul corespunzător. După aceasta, acesta va muta fișierul în directoarele aferente (de ex.g ... fișierul mp3 va intra în directorul „Audio”).

import os
import shutil
import datetime
în timp ce 1:
#calculând ora, minutul și secunda curente
today = datetime.datetime.azi()
today = str (today)
ora_curenta = azi [11:13]
minute_curent = astăzi [14:16]
current_sec = today [17:19]
# asigurându-vă că sistemul va aranja fișierele la ora 08:00
dacă current_hour == '08' și current_minute == '00' și current_sec == '00':
# schimbarea directorului de descărcat
os.chdir ("path_to_Download_directory")
# salvarea tuturor numele fișierelor într-o listă
files = os.listdir (os.getcwd ())
pentru numele fișierului din fișiere:
# ignorarea directoarelor
dacă nu os.cale.isdir (numele fișierului):
# selectarea fișierelor mp3
dacă '.mp3 'în numele fișierului:
# crearea directorului „Audio” dacă nu există
dacă nu os.cale.există („Audio”):
os.mkdir („Audio”)
# fișier în mișcare în directorul „Audio”
shutil.mutați (numele fișierului, „Audio”)
# selectarea fișierelor mp4
elif '.mp4 'în numele fișierului:
# crearea directorului „Video” dacă nu există
dacă nu os.cale.există („Video”):
os.mkdir („Video”)
# fișier în mișcare în directorul „Video”
shutil.mutați (numele fișierului, „Video”)
# selectarea fișierelor pdf
elif '.pdf 'în numele fișierului:
# crearea directorului „PDF” dacă nu există
dacă nu os.cale.există („PDF”):
os.mkdir („PDF”)
# fișier în mișcare în directorul PDF
shutil.mutați (numele fișierului, „PDF”)
# selectarea fișierelor jpg și png
elif '.jpg 'în numele fișierului sau'.png 'în numele fișierului:
# crearea directorului „Poze” dacă nu există
dacă nu os.cale.există („Poze”):
os.mkdir („Poze”)
# fișier în mișcare în directorul „Imagini”
shutil.mutați (numele fișierului, „Imagini”)
# selectarea fișierelor Excel
elif '.xls 'în numele fișierului:
# crearea directorului „Excel” dacă nu există
dacă nu os.cale.există („Excel”):
os.mkdir („Excel”)
# fișier în mișcare în directorul „Excel”
shutil.mutați (numele fișierului, „Excel”)
# selectând „.ppt 'fișiere
elif '.ppt 'în numele fișierului:
# crearea directorului „Power Point” dacă nu există
dacă nu os.cale.există („Power Point”):
os.mkdir („Power Point”)
# fișier în mișcare în directorul „Power Point”
shutil.mutați (numele fișierului, „Power Point”)
# selectând „.fișiere docs
elif '.docx 'în numele fișierului:
# crearea directorului „Fișier Word” dacă nu există
dacă nu os.cale.există („Fișier Word”):
os.mkdir („Fișier Word”)
# mutarea fișierului în directorul „Fișier Word”
shutil.mutați (numele fișierului, „Fișier Word”)

În primul rând, vom salva ora curentă în diferite variabile, apoi vom verifica dacă ora este exactă '08: 00 'sau nu. Programul va verifica ora în fiecare zi și va rula codul dacă ora este „08:00”, atunci va rula codul principal. În codul principal, în primul rând schimbăm directorul nostru în directorul Descărcare. Aici vom salva toate numele de fișiere într-o listă numită fișiere. Acum vom citi toate fișierele unul câte unul și vom filtra numai fișierele. Vom ignora directoarele, deoarece vom aranja numai fișiere.

Acum vom verifica fiecare tip de fișier dacă este mp3, mp4, jpg, pdf, xls, ppt și docx sau nu. După verificarea fiecărui tip de fișier, vom verifica dacă directorul corespunzător există sau nu. De exemplu, dacă fișierul este mp3, atunci vom verifica dacă directorul „Audio” există sau nu. Dacă directorul corespunzător nu există, îl vom crea. După crearea directorului, vom muta fișierul în acel director. În acest fel, toate fișierele pot fi mutate în directoarele corespunzătoare.

Acest cod va rula continuu și va continua să verifice dacă ora este „08:00” sau nu. În fiecare zi la „08:00”, fișierele vor fi aranjate automat. Acest cod poate fi programat să ruleze de fiecare dată când porniți sistemul folosind crontab. Crontab a fost explicat mai jos.

Faceți backup automat al fișierelor utilizând comenzile de sistem

Aveți câteva fișiere importante într-un director legat de proiectul dvs. și cumva unele fișiere sunt șterse. Atunci ce vei face? În acest tip de situație, este important să creați o copie de rezervă a fișierelor dvs. Dar crearea unei copii de rezervă a fișierelor dvs. este cu adevărat plictisitoare și necesită mult timp. Această sarcină poate fi realizată automat prin scrierea unui script python. Următorul este codul pentru a efectua această sarcină. Acest cod va converti fiecare fișier în fișier zip, apoi va crea un director de rezervă, dacă nu există. După aceasta, fișierul zip va fi mutat în directorul de rezervă.

import os
import datetime
în timp ce 1:
# economisirea timpului curent
today = datetime.datetime.azi()
today = str (today)
ora_curenta = azi [11:13]
minute_curent = astăzi [14:16]
current_sec = today [17:19]
# asigurându-vă că codul va rula exact la „08:00”
dacă current_hour == '08' și current_minute == '00' și current_sec == '00':
# schimbarea directorului în documente
os.chdir ('path_to_documents_directory')
# salvarea tuturor numele fișierelor într-o listă
files = os.listdir (os.getcwd ())
# crearea directorului „backup” dacă nu există
dacă nu os.cale.există („backup”):
os.mkdir („backup”)
pentru fișier în fișiere:
# ignorarea directoarelor
dacă nu os.cale.isdir (fișier):
# definirea unui nume de fișier fără spații
original_name = fișier
fișier = file.Despică(" ")
file_name = "".alătură-te (fișier)
# definirea zip_filename
zip_file_name = file_name + ".zip "
# verificarea dacă fișierul există deja în directorul de rezervă sau nu
dacă nu os.cale.există ('backup /' + zip_file_name):
# schimbarea numelui fișierului fără spații
os.redenumiți (original_name, file_name)
# crearea fișierului zip utilizând comanda de sistem
os.sistem ("zip" + zip_file_name + "" + file_name)
#moving fișier zip în directorul de rezervă utilizând comanda de sistem
os.sistem ("mv" + zip_file_name + "backup")
# schimbarea numelui fișierului la numele său original
os.redenumiți (nume_fișier, nume_original)

În primul rând vom economisi timpul curent în variabile și apoi vom verifica dacă ora este „08: 00” sau nu. Dacă timpul este exact „08:00”, atunci scriptul principal va rula. În codul principal, în primul rând, mergem la directorul în care sunt prezente fișierele importante. Apoi salvăm toate numele fișierelor într-o listă. Acum vom crea un director „backup” în care vom salva toate fișierele zip. Dacă acest director există deja, vom ignora acest lucru. Acum vom citi fiecare fișier și vom verifica dacă acestea sunt sau nu fișiere. Directoarele vor fi ignorate și fișierele vor fi luate în considerare.

Pentru a crea un fișier zip al unui fișier utilizând comanda de sistem, în primul rând vom redenumi acest fișier fără spații, deoarece un nume de fișier cu spații este considerat un fișier diferit la fiecare spațiu, atunci când rulăm într-o comandă de sistem folosind scriptul Python. Numele fișierului este salvat într-o variabilă „original_filename”, iar fișierul este redenumit fără spații. Acum vom defini numele fișierului zip la fel ca numele fișierului cu extensia '.fermoar.

După aceasta vom folosi comanda de sistem „zip” pentru a zip acest fișier și apoi vom muta acest fișier zip în directorul „backup” folosind comanda de sistem „mv”. Apoi vom redenumi fișierul cu numele său original, cu spații în el. Acest cod va fi programat pe sistem să ruleze automat de fiecare dată când porniți sistemul folosind crontab.

Rulați automat un script folosind Crontab

Am scris mai sus scripturile de automatizare. Acum vrem să rulăm aceste scripturi automat ori de câte ori sistemul nostru repornește. Pentru a face acest lucru, adăugăm scriptul nostru în crontab. Pentru a adăuga o activitate în crontab, urmați pașii următori

În primul rând, tastați următoarea comandă pentru a edita fișierul crontab

ubuntu @ ubuntu: ~ $ crontab -e

-Steagul înseamnă crontab deschis în modul de editare. După deschiderea fișierului crontab acum vom adăuga sarcina noastră în acest fișier folosind următoarea comandă la sfârșitul fișierului

@ reboot python / path / to / python / script

Aceasta va rula automat scriptul Python de fiecare dată când porniți sistemul.

Concluzie

În acest articol, a fost explicată importanța automatizării în viața practică. Citind acest articol, veți avea o idee despre modul în care vă puteți automatiza sarcinile simple pe care le faceți în fiecare zi. Cu siguranță ar trebui să căutați mai multe biblioteci și funcții python pentru o automatizare mai bună și mai ușoară.

Cum să capturați și să transmiteți în flux sesiunea de jocuri pe Linux
În trecut, jocurile erau considerate doar un hobby, dar cu timpul industria jocurilor a cunoscut o creștere imensă în ceea ce privește tehnologia și n...
Cele mai bune jocuri pentru a juca cu urmărirea manuală
Oculus Quest a introdus recent marea idee de urmărire manuală fără controlere. Cu un număr din ce în ce mai mare de jocuri și activități care execută ...
Cum se afișează suprapunerea OSD în aplicații și jocuri Linux pe ecran complet
Jucarea jocurilor pe ecran complet sau utilizarea aplicațiilor în modul ecran complet fără distragere vă poate elimina din informațiile relevante ale ...