Python

Plánovanie úloh pomocou Pythonu

Plánovanie úloh pomocou Pythonu
Niektoré úlohy v našom živote si skutočne vyžadujú čas a nudí nás robiť ich opakovane. Aby sme sa vyhli týmto nudným úlohám, automatizujeme ich v našom systéme. Python má veľa automatizačných modulov, ktoré možno použiť na automatizáciu našich vecí. Ďalej budeme diskutovať o dôležitosti automatizácie a o tom, ako automatizovať naše veci pomocou pythonu. Budeme tiež diskutovať o niektorých automatizačných moduloch v pythone, ktoré pomáhajú automatizovať naše veci. Potom uvidíme niekoľko prípadov použitia automatizácie pomocou pythonu. Na konci uvidíme, ako môžeme naplánovať automatické spustenie nášho python skriptu pri štarte.

Prečo automatizujeme svoje veci

Automatizácia našich vecí nám môže uľahčiť život. Má mnoho výhod, ale niektoré dôležité výhody automatizácie sú uvedené nižšie

Automatizácia pomocou Pythonu

Existuje niekoľko skriptovacích jazykov, ako je bash, perl atď. na automatizáciu manuálnych procesov, ale python poskytuje uskutočniteľné prostredie na zvládnutie našich potrieb. Automatizovanie položiek pomocou programovacieho jazyka Python je jednoduchšie ako v akomkoľvek inom jazyku. Python má veľa automatizačných modulov (t.j.e. podproces, shutil, os, pyautogui, selén atď.), ktoré sa dajú použiť v automatizácii. Uvidíme niekoľko prípadov použitia automatizácie našich vecí.

Automatizačné moduly v Pythone

Tu budeme diskutovať o niektorých automatizačných moduloch v pythone OS, PODROBNOSŤ, SHUTIL, DATETIME, SELENIUM atď. Tieto moduly sa používajú na vykonávanie systémových príkazov a môžu sa tiež použiť na manipuláciu so systémovými adresármi. Tieto moduly majú zabudované funkcie, ktoré uľahčujú vykonávanie úloh v systéme.

OS a PODROBNOSŤ moduly sa používajú takmer na rovnaký účel. Niektoré zo zabudovaných funkcií týchto modulov sú uvedené nižšie

Podobne SHUTIL modul má mnoho funkcií, ktoré umožňujú interakciu so systémom. Niektoré funkcie tohto modulu sú uvedené nižšie

DÁTUM ČAS modul slúži na vyhľadanie aktuálneho dátumu a času. Používa sa tiež na vyhľadanie dňa v týždni a mnohých ďalších vecí. Pomocou tohto modulu môžeme naplánovať našu úlohu kedykoľvek a kedykoľvek. V nasledujúcich prípadoch použitia ho použijeme na vyhľadanie iba aktuálneho dátumu a času.

SELÉNIUM Modul sa používa na automatizáciu procesu prihlasovania na našu webovú stránku. Môžeme sa automaticky prihlásiť na našu webovú stránku a aktualizovať ju pomocou SELÉNIUM modul. SELÉNIUM má mnoho zabudovaných funkcií, ktoré sa používajú na vykonávanie rôznych úloh týkajúcich sa prehľadávačov.

Ako vykonávať systémové príkazy v Pythone

Systémové príkazy môžeme spúšťať v pythone pomocou OS a PODROBNOSŤ modulov. Nasleduje syntax na spustenie systémového príkazu v pythone

os.systém („príkaz“)

ALEBO

podproces.call ('command')

Napríklad, ak chceme vypísať všetky súbory a adresáre v aktuálnom adresári, spustíme nasledujúci príkaz v skripte python

os.systém („ls“)

ALEBO

podproces.hovor („ls“)

Ako automatizovať veci pomocou Pythonu

Python je možné použiť na automatizáciu mnohých druhov každodenných úloh, čo môže ušetriť čas. Tu uvidíme niektoré prípady použitia automatizácie našich vecí. Budeme diskutovať o usporiadaní súborov v adresári na stiahnutie a o zálohovaní našich dôležitých súborov.

Usporiadanie súborov v adresári na stiahnutie

Keď sťahujeme akýkoľvek typ súboru, predvolene ide do adresára na stiahnutie. Ak musíme nájsť akýkoľvek súbor, môže to spôsobiť problém, pretože v priečinku na stiahnutie je zmiešaných veľa typov súborov. Teraz napíšeme pythonovský skript, ktorý automatizuje systém takým spôsobom, že rôzne typy súborov (napr.g. mp3, png, xls atď.) sa nachádzajú v rôznych adresároch. Celý kód je uvedený nižšie. Tento kód postupne skontroluje každý typ súboru a potom vytvorí zodpovedajúci adresár. Potom presunie súbor do súvisiacich adresárov (napr.g ... súbor mp3 sa presunie do adresára „Audio“).

import os
import uzávierka
importovať čas a čas
zatiaľ čo 1:
# výpočet aktuálnej hodiny, minúty a sekundy
dnes = dátum a čas.Dátum Čas.dnes ()
dnes = str (dnes)
current_hour = dnes [11:13]
current_minute = dnes [14:16]
current_sec = dnes [17:19]
# uistite sa, že systém usporiada súbory o 08:00
if current_hour == '08' and current_minute == '00' and current_sec == '00':
# zmena adresára na stiahnutie
os.chdir ("cesta_k_adresáru")
# uloženie všetkých mien súborov do zoznamu
súbory = os.listdir (os.getcwd ())
pre názov súboru v súboroch:
# ignorovanie adresárov
ak nie os.cesta.isdir (názov súboru):
# výber súborov mp3
ak '.mp3 'v názve súboru:
# vytvorenie "audio" adresára, ak neexistuje
ak nie os.cesta.existuje („zvuk“):
os.mkdir („Zvuk“)
# presunutie súboru do adresára „Audio“
uzáver.presunúť (názov súboru, „zvuk“)
# výber súborov mp4
elif '.mp4 'v názve súboru:
# vytvorenie adresára „Video“, ak neexistuje
ak nie os.cesta.existuje („video“):
os.mkdir („Video“)
# presunutie súboru do adresára „Video“
uzáver.presunúť (názov súboru, „video“)
# výber súborov PDF
elif '.pdf 'v názve súboru:
# vytvorenie adresára 'PDF', ak neexistuje
ak nie os.cesta.existuje („PDF“):
os.mkdir ('PDF')
# presun súboru v adresári PDF
uzáver.presunúť (názov súboru, „PDF“)
# výber súborov jpg a png
elif '.jpg 'v názve súboru alebo'.png 'v názve súboru:
# vytvorenie adresára „Obrázky“, ak neexistuje
ak nie os.cesta.existuje („Obrázky“):
os.mkdir („Obrázky“)
# presunutie súboru do adresára „Obrázky“
uzáver.presunúť (názov súboru, „obrázky“)
# výber súborov programu Excel
elif '.xls 'v názve súboru:
# vytvorenie adresára „Excel“, ak neexistuje
ak nie os.cesta.existuje („Excel“):
os.mkdir („Excel“)
# presun súboru v adresári „Excel“
uzáver.presunúť (názov súboru, „Excel“)
# výber '.ppt 'súbory
elif '.ppt 'v názve súboru:
# vytvorenie adresára 'Power Point', ak neexistuje
ak nie os.cesta.existuje („Power Point“):
os.mkdir („Power Point“)
# presun súboru v adresári „Power Point“
uzáver.presunúť (názov súboru, „Power Point“)
# výber '.súbory dokumentov
elif '.docx 'v názve súboru:
# vytvorenie adresára 'Word File', ak neexistuje
ak nie os.cesta.existuje („súbor Word“):
os.mkdir ('súbor Word')
# presunutie súboru do adresára „Word Word“
uzáver.presunúť (názov súboru, „súbor Word“)

Najskôr uložíme aktuálny čas do rôznych premenných, potom skontrolujeme, či je presný čas '08:00' alebo nie. Program bude kontrolovať čas každý deň a spustí kód, ak je nastavený čas '08: 00 ', potom sa spustí hlavný kód. V hlavnom kóde najskôr zmeníme náš adresár na adresár na stiahnutie. Tu uložíme všetky názvy súborov do zoznamu s názvom súbory. Teraz prečítame všetky súbory jeden po druhom a vyfiltrujeme iba súbory. Adresáre budeme ignorovať, pretože sa chystáme usporiadať iba súbory.

Teraz skontrolujeme každý typ súboru, či už je to mp3, mp4, jpg, pdf, xls, ppt a docx alebo nie. Po skontrolovaní každého typu súboru skontrolujeme, či príslušný adresár existuje alebo nie. Napríklad, ak je súbor mp3, skontrolujeme, či existuje adresár „Audio“. Ak zodpovedajúci adresár neexistuje, vytvoríme ho. Po vytvorení adresára presunieme náš súbor do tohto adresára. Týmto spôsobom je možné všetky súbory presunúť do zodpovedajúcich adresárov.

Tento kód bude bežať nepretržite a bude pokračovať v kontrole, či je čas „08:00“ alebo nie. Každý deň o 08:00 budú súbory usporiadané automaticky. Tento kód je možné naplánovať tak, aby sa spustil pri každom spustení systému pomocou programu crontab. Crontab bol vysvetlený nižšie.

Automaticky zálohujte svoje súbory pomocou systémových príkazov

V adresári, ktorý sa týka vášho projektu, sú niektoré dôležité súbory a niektoré súbory sa nejako odstránia. Čo potom urobíš? V takomto prípade je dôležité vytvoriť zálohu vašich súborov. Vytvorenie zálohy vašich súborov je však skutočne nudné a časovo náročné. Túto úlohu je možné vykonať automaticky napísaním pythonovského skriptu. Nasleduje kód na vykonanie tejto úlohy. Tento kód prevedie každý súbor na súbor zip a potom vytvorí záložný adresár, ak neexistuje. Potom bude súbor zip presunutý do záložného adresára.

import os
importovať čas a čas
zatiaľ čo 1:
# ukladanie aktuálneho času
dnes = dátum a čas.Dátum Čas.dnes ()
dnes = str (dnes)
current_hour = dnes [11:13]
current_minute = dnes [14:16]
current_sec = dnes [17:19]
# uistite sa, že kód bude bežať presne v „08:00“
if current_hour == '08' and current_minute == '00' and current_sec == '00':
# zmena adresára na dokumenty
os.chdir ('cesta_do_dokumentov_adresar')
# uloženie všetkých mien súborov do zoznamu
súbory = os.listdir (os.getcwd ())
# vytvorenie 'záložného' adresára, ak neexistuje
ak nie os.cesta.existuje („záloha“):
os.mkdir („záloha“)
pre súbor v súboroch:
# ignorovanie adresárov
ak nie os.cesta.isdir (súbor):
# definovanie názvu súboru bez medzier
original_name = súbor
súbor = súbor.rozdeliť ("")
nazov_suboru = "".pripojiť sa (súbor)
# definovanie zip_filename
zip_file_name = nazov suboru + ".PSČ"
# kontrola, či súbor už existuje v záložnom adresári alebo nie
ak nie os.cesta.existuje ('backup /' + zip_file_name):
# zmena názvu súboru bez medzier
os.premenovať (original_name, file_name)
# vytvorenie zip súboru pomocou príkazu systému
os.system ("zip" + zip_file_name + "" + nazov suboru)
# presunutie zip súboru do záložného adresára pomocou príkazu systému
os.system ("mv" + zip_file_name + "backup")
# zmena názvu súboru na pôvodný názov
os.premenovať (názov súboru, pôvodný názov)

Najskôr uložíme aktuálny čas do premenných a potom skontrolujeme, či je čas '08: 00 'alebo nie. Ak je čas presný „08:00“, spustí sa hlavný skript. V hlavnom kóde v prvom rade prejdeme do adresára, v ktorom sú dôležité súbory. Potom uložíme všetky názvy súborov do zoznamu. Teraz vytvoríme adresár „backup“, do ktorého uložíme všetky súbory zip. Ak tento adresár už existuje, budeme ho ignorovať. Teraz si prečítame každý súbor a skontrolujeme, či ide o súbory, alebo nie. Adresáre budú ignorované a súbory sa zohľadnia.

Aby sme vytvorili súbor zip súboru pomocou systémového príkazu, najskôr tento súbor bez medzier premenujeme, pretože názov súboru s medzerami sa v každom priestore považuje za iný súbor, keď sa spustí systémový príkaz pomocou skriptu python. Názov súboru je uložený v premennej „original_filename“ a súbor je premenovaný bez medzier. Teraz definujeme názov zip súboru, ktorý je rovnaký ako názov súboru s príponou '.PSČ'.

Potom použijeme systémový príkaz „zip“ na zazipsovanie tohto súboru a potom tento súbor zip presunieme do adresára „backup“ pomocou systémového príkazu „mv“. Potom znova premenujeme súbor s pôvodným názvom, v ktorom sú medzery. Tento kód bude v systéme naplánovaný tak, aby sa spustil zakaždým automaticky, keď spustíte systém pomocou programu crontab.

Automatizujte spustenie skriptu pomocou programu Crontab

Vyššie sme napísali automatizačné skripty. Teraz chceme tieto skripty spúšťať automaticky vždy, keď sa náš systém reštartuje. Za týmto účelom pridáme náš skript do programu crontab. Ak chcete pridať úlohu do programu crontab, urobte nasledujúce kroky

Najskôr zadajte nasledujúci príkaz na úpravu súboru crontab

ubuntu @ ubuntu: ~ $ crontab -e

-Príznak e znamená otvorený crontab v režime úprav. Po otvorení súboru crontab teraz pridáme našu úlohu do tohto súboru pomocou nasledujúceho príkazu na konci súboru

@reboot python / cesta / k / python / skript

Toto spustí pythonovský skript automaticky pri každom spustení systému.

Záver

V tomto článku bol vysvetlený význam automatizácie v praktickom živote. Čítaním tohto článku získate predstavu, ako môžete automatizovať svoje jednoduché úlohy, ktoré robíte každý deň. Pre lepšiu a ľahšiu automatizáciu by ste určite mali vyhľadať viac knižníc a funkcií pythonu.

Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...
Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...