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
- První a nejdůležitější výhodou automatizace je úspora času.
- Můžeme zvýšit efektivitu naší práce (tj.E. více práce za méně času)
- Lze zlepšit přesnost naplánovaných úkolů.
- Automatizací věcí se snižuje lidská interakce se systémem, takže nudné věci se automatizují.
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
- chdir () \\ Chcete-li změnit adresář
- mkdir () \\ Vytvořit nový adresář
- rename () \\ Chcete-li přejmenovat soubor
- listdir () \\ Chcete-li zobrazit seznam všech souborů a adresářů
- getcwd () \\ Chcete-li znát náš aktuální adresář
- system () \\ Spuštění systémových příkazů
- call () \\ Spuštění systémových příkazů
Podobně SHUTIL modul má mnoho funkcí, které umožňují interakci se systémem. Některé funkce tohoto modulu jsou uvedeny níže
- move () \\ Přesunutí souboru
- copy () \\ Chcete-li zkopírovat soubor
- rmtree () \\ Odebrání všech souborů v adresáři a podadresářích
Č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.
- čas schůzky.dnes () \\ Chcete-li zjistit aktuální datum a Čas
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 osimportovat 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 osimport 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 / skriptTí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.