Krajta

Plánování úkolů pomocí Pythonu

Plánování úkolů pomocí Pythonu
Některé úkoly v našem životě opravdu zabere čas a nudí nás opakované provádění těchto úkolů. Abychom se těmto nudným úkolům vyhnuli, automatizujeme tyto úkoly v našem systému. Python má mnoho automatizačních modulů, které lze použít k automatizaci našich věcí. Níže budeme diskutovat o důležitosti automatizace a o tom, jak automatizovat naše věci pomocí pythonu. Budeme také diskutovat o některých automatizačních modulech v pythonu, které pomáhají automatizovat naše věci. Pak uvidíme některé případy použití automatizace pomocí pythonu. Na konci uvidíme, jak můžeme naplánovat automatické spuštění našeho python skriptu při spuštění.

Proč automatizujeme naše věci

Automatizace našich věcí nám může usnadnit život. Má mnoho výhod, ale některé důležité výhody automatizace jsou uvedeny níže

Automatizace pomocí Pythonu

Existuje několik skriptovacích jazyků, jako je bash, perl atd. automatizovat manuální procesy, ale python poskytuje proveditelné prostředí pro zvládnutí našich potřeb. Automatizace pomocí programovacího jazyka Python je snadnější než v jakémkoli jiném jazyce. Python má mnoho automatizačních modulů (tj.E. podproces, shutil, os, pyautogui, selen atd.), které lze použít v automatizaci. Uvidíme některé případy použití, jak automatizujeme naše věci.

Automatizační moduly v Pythonu

Zde budeme diskutovat o některých automatizačních modulech v pythonu OS, SUBPROCESS, SHUTIL, DATETIME, SELENIUM atd. Tyto moduly se používají k provádění systémových příkazů a lze je také použít k manipulaci s adresáři systému. Tyto moduly mají zabudované funkce, které usnadňují provádění úkolů v systému.

OS a SUBPROCES moduly se používají téměř pro stejný účel. Některé z vestavěných funkcí těchto modulů jsou uvedeny níže

Podobně SHUTIL modul má mnoho funkcí, které umožňují interakci se systémem. Některé funkce tohoto modulu jsou uvedeny níže

ČAS SCHŮZKY modul slouží k vyhledání aktuálního data a času. Používá se také k vyhledání dne v týdnu a mnoha dalších věcí. Pomocí tohoto modulu můžeme naplánovat náš úkol kdykoli a kdykoli. V následujících případech použití jej použijeme k vyhledání pouze aktuálního data a času.

SELEN Modul se používá k automatizaci procesu přihlášení našich webových stránek. Můžeme se automaticky přihlásit na náš web a aktualizovat jej pomocí SELEN modul. SELEN má mnoho vestavěných funkcí, které se používají k provádění různých úkolů souvisejících s prohlížeči.

Jak provádět systémové příkazy v Pythonu

Můžeme spouštět systémové příkazy v pythonu pomocí OS a SUBPROCES moduly. Následuje syntaxe pro spuštění systémového příkazu v pythonu

os.systém ('příkaz')

NEBO

podproces.call ('command')

Například pokud chceme vypsat všechny soubory a adresáře v aktuálním adresáři, spustíme následující příkaz ve skriptu pythonu

os.systém ('ls')

NEBO

podproces.call ('ls')

Jak automatizovat věci pomocí Pythonu

Python lze použít k automatizaci mnoha druhů každodenních úkolů, což může ušetřit čas. Zde uvidíme některé případy použití automatizace našich věcí. Budeme diskutovat o uspořádání souborů v adresáři pro stahování a o zálohování našich důležitých souborů.

Uspořádání souborů v adresáři pro stahování

Když stáhneme jakýkoli typ souboru, ve výchozím nastavení přejde do adresáře Stáhnout. Když musíme najít jakýkoli soubor, může to způsobit problém, protože v adresáři pro stahování existuje mnoho typů souborů. Nyní napíšeme pythonovský skript, který automatizuje systém takovým způsobem, že různé typy souborů (např.G. mp3, png, xls atd.) jde do různých adresářů. Celý kód je uveden níže. Tento kód postupně kontroluje každý typ souboru a poté vytvoří odpovídající adresář. Poté soubor přesune do souvisejících adresářů (např.g… soubor mp3 přejde do adresáře „Audio“).

import os
importovat závěrku
import datetime
zatímco 1:
# výpočet aktuální hodiny, minuty a sekundy
dnes = datetime.čas schůzky.dnes()
dnes = str (dnes)
current_hour = dnes [11:13]
current_minute = dnes [14:16]
current_sec = dnes [17:19]
# ujistěte se, že systém uspořádá soubory v 08:00
pokud current_hour == '08' a current_minute == '00' a current_sec == '00':
# změna adresáře ke stažení
os.chdir ("cesta_k_adresáři_downloadů")
# uložení všech názvů souborů do seznamu
soubory = os.listdir (os.getcwd ())
pro název souboru v souborech:
# ignorování adresářů
pokud ne os.cesta.isdir (název souboru):
# výběr mp3 souborů
pokud '.mp3 'v názvu souboru:
# vytvoření adresáře „Audio“, pokud neexistuje
pokud ne os.cesta.existuje („zvuk“):
os.mkdir ('Audio')
# přesunutí souboru v adresáři „Audio“
Shutil.move (název souboru, 'Audio')
# výběr souborů mp4
elif '.mp4 'v názvu souboru:
# vytvoření adresáře 'Video', pokud neexistuje
pokud ne os.cesta.existuje („Video“):
os.mkdir ('Video')
# přesunutí souboru v adresáři „Video“
Shutil.move (název souboru, 'Video')
# výběr souborů PDF
elif '.pdf 'v názvu souboru:
# vytvoření adresáře 'PDF', pokud neexistuje
pokud ne os.cesta.existuje ('PDF'):
os.mkdir ('PDF')
# přesun souboru v adresáři PDF
Shutil.přesunout (název souboru, 'PDF')
# výběr souborů jpg a png
elif '.jpg 'v názvu souboru nebo'.png 'v názvu souboru:
# vytvoření adresáře „Obrázky“, pokud neexistuje
pokud ne os.cesta.existuje („Obrázky“):
os.mkdir ('Obrázky')
# přesunutí souboru v adresáři „Obrázky“
Shutil.move (název souboru, 'Pictures')
# výběr souborů aplikace Excel
elif '.xls 'v názvu souboru:
# vytvoření adresáře „Excel“, pokud neexistuje
pokud ne os.cesta.existuje ('Excel'):
os.mkdir ('Excel')
# přesun souboru v adresáři „Excel“
Shutil.přesunout (název souboru, 'Excel')
# výběr '.soubory ppt
elif '.ppt 'v názvu souboru:
# vytvoření adresáře 'Power Point', pokud neexistuje
pokud ne os.cesta.existuje („Power Point“):
os.mkdir ('Power Point')
# přesun souboru v adresáři „Power Point“
Shutil.move (název souboru, 'Power Point')
# výběr '.soubory dokumentů
elif '.docx 'v názvu souboru:
# vytvoření adresáře 'Word File', pokud neexistuje
pokud ne os.cesta.existuje ('Word File'):
os.mkdir ('Word File')
# přesun souboru v adresáři „Word Word“
Shutil.move (název souboru, 'Word File')

Nejprve uložíme aktuální čas do různých proměnných, pak zkontrolujeme, zda je přesný čas '08: 00 'nebo ne. Program bude kontrolovat čas každý den a spustí kód, pokud je čas '08: 00 ', poté se spustí hlavní kód. V hlavním kódu nejprve změníme náš adresář na adresář pro stahování. Zde uložíme všechny názvy souborů do seznamu pojmenovaných souborů. Nyní přečteme všechny soubory jeden po druhém a odfiltrujeme pouze soubory. Adresáře budeme ignorovat, protože se chystáme uspořádat pouze soubory.

Nyní zkontrolujeme každý typ souboru, ať už je to mp3, mp4, jpg, pdf, xls, ppt a docx nebo ne. Po kontrole každého typu souboru zkontrolujeme, zda příslušný adresář existuje nebo ne. Pokud je například soubor mp3, zkontrolujeme, zda existuje adresář „Audio“. Pokud odpovídající adresář neexistuje, vytvoříme jej. Po vytvoření adresáře přesuneme náš soubor do tohoto adresáře. Tímto způsobem lze všechny soubory přesunout do příslušných adresářů.

Tento kód bude běžet nepřetržitě a bude pokračovat v kontrole, zda je čas '08: 00 'nebo ne. Každý den v 08:00 budou soubory uspořádány automaticky. Tento kód lze naplánovat tak, aby se spustil pokaždé, když spustíte systém pomocí crontab. Crontab byl vysvětlen níže.

Automaticky zálohujte soubory pomocí systémových příkazů

Máte nějaké důležité soubory v adresáři souvisejícím s vaším projektem a některé soubory jsou nějak odstraněny. Tak co budeš dělat? V takové situaci je důležité vytvořit zálohu vašich souborů. Vytvoření zálohy vašich souborů je ale opravdu nudné a časově náročné. Tuto úlohu lze provést automaticky napsáním pythonovského skriptu. Následuje kód pro provedení tohoto úkolu. Tento kód převede každý soubor na soubor zip a poté vytvoří záložní adresář, pokud neexistuje. Poté bude soubor zip přesunut do záložního adresáře.

import os
import datetime
zatímco 1:
# ukládání aktuálního času
dnes = datetime.čas schůzky.dnes()
dnes = str (dnes)
current_hour = dnes [11:13]
current_minute = dnes [14:16]
current_sec = dnes [17:19]
# ujistěte se, že kód poběží přesně v 08:00
pokud current_hour == '08' a current_minute == '00' a current_sec == '00':
# změna adresáře na dokumenty
os.chdir ('path_to_documents_directory')
# uložení všech názvů souborů do seznamu
soubory = os.listdir (os.getcwd ())
# vytvoření 'záložního' adresáře, pokud neexistuje
pokud ne os.cesta.existuje ('záloha'):
os.mkdir ('záloha')
pro soubor v souborech:
# ignorování adresářů
pokud ne os.cesta.isdir (soubor):
# definování názvu souboru bez mezer
original_name = soubor
soubor = soubor.split ("")
název_souboru = "".připojit (soubor)
# definování zip_filename
zip_file_name = název_souboru + ".zip "
# kontrola, zda soubor již existuje v záložním adresáři nebo ne
pokud ne os.cesta.existuje ('backup /' + zip_file_name):
# změna názvu souboru bez mezer
os.přejmenovat (original_name, file_name)
# vytvoření zip souboru pomocí systémového příkazu
os.system ("zip" + zip_file_name + "" + file_name)
# přesunutí souboru zip do záložního adresáře pomocí systémového příkazu
os.system ("mv" + zip_file_name + "backup")
# změna názvu souboru na původní název
os.přejmenovat (název_souboru, původní_název)

Nejprve uložíme aktuální čas do proměnných a poté zkontrolujeme, zda je čas '08: 00 'nebo ne. Pokud je čas přesný '08: 00 ', spustí se hlavní skript. V hlavním kódu nejdříve přejdeme do adresáře, ve kterém jsou důležité soubory. Poté uložíme všechny názvy souborů do seznamu. Nyní vytvoříme adresář 'backup', do kterého uložíme všechny zip soubory. Pokud tento adresář již existuje, budeme jej ignorovat. Nyní si přečteme každý soubor a zkontrolujeme, zda se jedná o soubory nebo ne. Adresáře budou ignorovány a budou zváženy soubory.

Aby bylo možné vytvořit soubor zip souboru pomocí systémového příkazu, nejprve přejmenujeme tento soubor bez mezer, protože název souboru s mezerami je považován za jiný soubor v každém prostoru, když je spuštěn do systémového příkazu pomocí skriptu python. Název souboru je uložen v proměnné 'original_filename' a soubor je přejmenován bez mezer. Nyní definujeme název souboru zip stejný jako název souboru s příponou '.zip '.

Poté použijeme systémový příkaz 'zip' k zazipování tohoto souboru a poté tento soubor zip přesuneme do adresáře 'backup' pomocí systémového příkazu 'mv'. Pak znovu přejmenujeme soubor s původním názvem s mezerami v něm. Tento kód bude v systému naplánován tak, aby se spouštěl pokaždé automaticky, když spustíte systém pomocí crontab.

Automatizujte spuštění skriptu pomocí Crontabu

Výše jsme napsali automatizační skripty. Nyní chceme tyto skripty spouštět automaticky, kdykoli se náš systém restartuje. K tomu přidáme náš skript do crontabu. Chcete-li přidat úkol do crontabu, proveďte následující kroky

Nejprve zadejte následující příkaz pro úpravu souboru crontab

ubuntu @ ubuntu: ~ $ crontab -e

-Příznak e znamená otevřený crontab v režimu úprav. Po otevření souboru crontab nyní přidáme náš úkol do tohoto souboru pomocí následujícího příkazu na konci souboru

@ restart python / cesta / do / python / skript

Tím se skript pythonu spustí automaticky při každém spuštění systému.

Závěr

V tomto článku byl vysvětlen význam automatizace v praktickém životě. Přečtením tohoto článku získáte představu o tom, jak můžete automatizovat své jednoduché úkoly, které děláte každý den. Určitě byste měli hledat více knihoven a funkcí pythonu pro lepší a snadnější automatizaci.

Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...
Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...
Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...