Python

Ülesannete ajastamine Pythoni abil

Ülesannete ajastamine Pythoni abil
Mõni ülesanne meie elus võtab tõesti aega ja meil on igav neid ülesandeid korduvalt teha. Igavate ülesannete vältimiseks automatiseerime need ülesanded oma süsteemis. Pythonis on palju automaatikamooduleid, mida saab kasutada meie asjade automatiseerimiseks. Allpool käsitleme automatiseerimise tähtsust ja seda, kuidas oma asju pythoni abil automatiseerida. Arutame ka mõningaid pythoni automaatikamooduleid, mis aitavad meie asju automatiseerida. Siis näeme mõningaid pythoni kasutava automatiseerimise juhtumeid. Lõpus näeme, kuidas saaksime oma pythoni skripti käivitamise ajastada automaatselt.

Miks me oma asju automatiseerime

Meie asjade automatiseerimine võib muuta meie elu lihtsamaks. Sellel on palju eeliseid, kuid allpool on toodud mõned automatiseerimise olulised eelised

Automaatika Pythoniga

On palju skriptikeeli nagu bash, perl jne. manuaalsete protsesside automatiseerimiseks, kuid python pakub teostatavat keskkonda meie vajaduste rahuldamiseks. Pythoni programmeerimiskeelt kasutades on asju lihtsam automatiseerida kui mõnes muus keeles. Pythonil on palju automaatikamooduleid (st.e. alamprotsess, shutil, os, pyautogui, seleen jne.), mida saab kasutada automatiseerimisel. Näeme mõningaid kasutusjuhtumeid selle kohta, kuidas me oma asju automatiseerime.

Automaatika moodulid Pythonis

Siin käsitleme mõningaid pythoni automatiseerimismooduleid OS, ALAPROTSESS, ŠUTIL, DATETIME, SELEENIUM jne. Neid mooduleid kasutatakse süsteemi käskude täitmiseks ja neid saab kasutada ka süsteemikataloogidega manipuleerimiseks. Nendel moodulitel on sisseehitatud funktsioonid, mis hõlbustavad süsteemis toimuvate ülesannete täitmist.

OS ja ALAPROTSESS mooduleid kasutatakse peaaegu samal eesmärgil. Mõned nende moodulite sisseehitatud funktsioonid on toodud allpool

Samamoodi ŠUTIL moodulil on palju funktsioone, mis võimaldavad süsteemiga suhelda. Mõned selle mooduli funktsioonid on toodud allpool

KUUPÄEV KELLAAEG moodulit kasutatakse praeguse kuupäeva ja kellaaja leidmiseks. Seda kasutatakse ka nädalapäeva ja paljude muude asjade leidmiseks. Selle mooduli abil saame oma ülesande igal ajal ja kuupäeval ajastada. Järgmistel kasutusjuhtumitel kasutame seda ainult praeguse kuupäeva ja kellaaja leidmiseks.

SELEENIUM Moodulit kasutatakse meie veebisaidi sisselogimise automatiseerimiseks. Saame automaatselt oma veebisaidile sisse logida ja seda kasutades värskendada SELEENIUM moodul. SELEENIUM on palju sisseehitatud funktsioone, mida kasutatakse erinevate brauseritega seotud ülesannete täitmiseks.

Kuidas käivitada süsteemi käske Pythonis

Saame pythonis süsteemi käske käivitada OS ja ALAPROTSESS moodulid. Järgneb süntaks süsteemi käsu käivitamiseks pythonis

os.süsteem ('käsk')

VÕI

alamprotsess.kõne ('käsk')

Näiteks kui soovime loetleda kõik praeguses kataloogis olevad failid ja kataloogid, käivitame järgmise käsu pythoni skriptis

os.süsteem ('ls')

VÕI

alamprotsess.kõne ('ls')

Kuidas Pythoniga asju automatiseerida

Pythoni saab kasutada mitmesuguste igapäevaste ülesannete automatiseerimiseks, mis võib säästa aega. Siin näeme mõningaid oma juhtumi automatiseerimise juhtumeid. Arutame failide korrastamist allalaadimiskataloogis ja meie oluliste failide varukoopiate säilitamist.

Failide korraldamine allalaadimiskataloogis

Mis tahes tüüpi failide allalaadimisel läheb see vaikimisi kataloogi Allalaadimine. Kui peame leidma mõne faili, võib see põhjustada probleeme, kuna allalaadimiskataloogis on segatud mitut tüüpi faile. Nüüd kirjutame Pythoni skripti süsteemi automatiseerimiseks nii, et erinevat tüüpi failid (nt.g. mp3, png, xls jne) on erinevates kataloogides. Täielik kood on toodud allpool. See kood kontrollib iga failitüüpi ükshaaval ja loob vastava kataloogi. Pärast seda teisaldab fail seotud kataloogidesse (nt.g ... mp3-fail läheb kausta 'Audio').

impordi os
import sulgur
impordi kuupäev
samas 1:
# praeguse tunni, minuti ja sekundi arvutamine
täna = kuupäevaeg.kuupäev Kellaaeg.täna ()
täna = str (täna)
current_hour = täna [11:13]
current_minute = täna [14:16]
current_sec = täna [17:19]
# veendumaks, et süsteem korraldab failid kell 08:00
kui current_hour == '08' ja current_minute == '00' ja current_sec == '00':
# allalaadimiseks kataloogi muutmine
os.chdir ("path_to_Download_directory")
# kõigi failinimede salvestamine loendisse
failid = os.listdir (os.getcwd ())
failide failinime jaoks:
# kataloogide ignoreerimine
kui mitte os.tee.isdir (failinimi):
# mp3-faili valimist
kui '.mp3 'failinimes:
# kataloogi 'Audio' loomine, kui seda pole olemas
kui mitte os.tee.olemas ('Audio'):
os.mkdir ('heli')
# liikuv fail kataloogis „Audio”
Sulg.teisalda (failinimi, 'Audio')
# mp4-failide valimine
elif '.mp4 'failinimes:
# kataloogi "Video" loomine, kui seda pole olemas
kui mitte os.tee.on olemas ('video'):
os.mkdir ('video')
# liikuv fail kataloogis 'Video'
Sulg.teisalda (failinimi, 'Video')
# pdf-faili valimist
elif '.pdf 'failinimes:
# kataloogi 'PDF' loomine, kui seda pole olemas
kui mitte os.tee.on olemas ('PDF'):
os.mkdir ('PDF')
# liikuv fail PDF-kataloogis
Sulg.teisalda (failinimi, 'PDF')
# JPG- ja PNG-failide valimine
elif '.JPG 'failinimes või'.png 'failinimes:
# kataloogi 'Pildid' loomine, kui seda pole olemas
kui mitte os.tee.olemas ('pildid'):
os.mkdir ('Pildid')
# liikuv fail kataloogis 'Pildid'
Sulg.liiguta (failinimi, 'Pildid')
# Exceli failide valimine
elif '.xls 'failinimes:
# Exceli kataloogi loomine, kui seda pole olemas
kui mitte os.tee.on olemas ('Excel'):
os.mkdir ('Excel')
# liikuv fail 'Exceli' kataloogis
Sulg.teisalda (failinimi, 'Excel')
# valimine.ppt-failid
elif '.ppt 'failinimes:
# kataloogi 'Power Point' loomine, kui seda pole olemas
kui mitte os.tee.olemas ('Power Point'):
os.mkdir ('Power Point')
# liikuv fail kataloogis 'Power Point'
Sulg.liiguta (failinimi, 'Power Point')
# valimine.dokumentide failid
elif '.docx 'failinimes:
# kataloogi 'Word File' loomine, kui seda pole olemas
kui mitte os.tee.on olemas ('Word File'):
os.mkdir ('Wordi fail')
# liikuv fail kataloogis 'Word File'
Sulg.teisalda (failinimi, 'Word File')

Kõigepealt salvestame praeguse aja erinevates muutujates ja seejärel kontrollime, kas kellaaeg on täpne '08: 00 'või mitte. Programm kontrollib kellaaega iga päev ja käivitab koodi, kui kellaaeg on '08: 00 ', siis töötab põhikood. Põhikoodis muudame kõigepealt oma kataloogi kataloogi allalaadimiseks. Siin salvestame kõik failinimed failide nimekirja. Nüüd loeme kõik failid ükshaaval läbi ja filtreerime välja ainult failid. Eirame katalooge, kuna korraldame ainult faile.

Nüüd kontrollime iga failitüüpi, kas see on mp3, mp4, jpg, pdf, xls, ppt ja docx või mitte. Pärast iga failitüübi kontrollimist kontrollime, kas vastav kataloog on olemas või mitte. Näiteks kui fail on mp3, siis kontrollime, kas 'Audio' kataloog on olemas või mitte. Kui vastavat kataloogi pole, loome kataloogi. Pärast kataloogi loomist teisaldame oma faili selles kataloogis. Nii saab kõik failid nende vastavatesse kataloogidesse teisaldada.

See kood töötab pidevalt ja kontrollib, kas kellaaeg on '08: 00 'või mitte. Iga päev kell 08.00 korraldatakse failid automaatselt. Selle koodi saab käivitada iga kord, kui käivitate oma süsteemi crontabi abil. Crontabi on selgitatud allpool.

Varundage failid automaatselt süsteemi käskude abil

Teie projektiga seotud kataloogis on mõned olulised failid ja kuidagi kustutatakse mõned failid. Mida sa siis teed? Sellises olukorras on failidest varukoopiate loomine oluline. Kuid failide varukoopiate loomine on igav ja aeganõudev ülesanne. Selle ülesande saab teha automaatselt, kirjutades pythoni skripti. Järgmine on kood selle ülesande täitmiseks. See kood teisendab kõik failid ZIP-failiks ja loob siis varukataloogi, kui seda pole. Pärast seda teisaldatakse zip-fail varukataloogi.

impordi os
impordi kuupäev
samas 1:
# praeguse aja säästmine
täna = kuupäevaeg.kuupäev Kellaaeg.täna ()
täna = str (täna)
current_hour = täna [11:13]
current_minute = täna [14:16]
current_sec = täna [17:19]
# veendumaks, et kood töötab täpselt '08: 00 '
kui current_hour == '08' ja current_minute == '00' ja current_sec == '00':
# kataloogi muutmine dokumentideks
os.chdir ('tee_dokumentide_kataloog')
# kõigi failinimede salvestamine loendisse
failid = os.listdir (os.getcwd ())
# varukataloogi loomine, kui seda pole olemas
kui mitte os.tee.olemas ('varukoopia'):
os.mkdir ('varukoopia')
faili failides:
# kataloogide ignoreerimine
kui mitte os.tee.isdir (fail):
# failinime määramine tühikuteta
algne_nimi = fail
fail = fail.split ("")
faili_nimi = "".liitu (fail)
# zip_filename määratlemine
zip_file_name = faili nimi + ".tõmblukk "
# kontrollige, kas fail on varukataloogis juba olemas või mitte
kui mitte os.tee.olemas ('backup /' + zip_file_name):
# failinime muutmine ilma tühikuteta
os.ümber nimetada (algne_nimi, faili_nimi)
# zip-faili loomine süsteemi käsu abil
os.süsteem ("zip" + zip_faili_nimi + "" + faili_nimi)
# zip-faili liigutamine varukataloogis, kasutades süsteemi käsku
os.süsteem ("mv" + zip_file_name + "backup")
# failinime muutmine algseks nimeks
os.ümber nimetada (faili_nimi, algne_nimi)

Kõigepealt salvestame muutujate praeguse aja ja seejärel kontrollime, kas kellaaeg on '08: 00 'või mitte. Kui kellaaeg on täpne '08: 00 ', töötab põhiskript. Põhikoodis läheme kõigepealt kataloogi, kus asuvad olulised failid. Seejärel salvestame kõik failinimed loendisse. Nüüd loome kataloogi "varukoopia", kuhu salvestame kõik zip-failid. Kui see kataloog on juba olemas, siis eirame seda. Nüüd loeme kõiki faile ja kontrollime, kas need on failid või mitte. Katalooge ignoreeritakse ja kaalutakse faile.

Faili zip-faili loomiseks süsteemi käskluse abil nimetame selle faili kõigepealt ümber ilma tühikuteta, kuna tühikutega failinimi loetakse igas ruumis erinevaks failiks, kui see käivitatakse süsteemi käsku kasutades Pythoni skripti. Faili nimi salvestatakse muutujasse 'original_filename' ja fail nimetatakse ümber ilma tühikuteta. Nüüd määratleme zip-faili nimi sama, mis faili nimi koos laiendiga ".tõmblukk.

Pärast seda kasutame selle faili pakkimiseks süsteemi käsku "zip" ja seejärel liigutame selle zip-faili kataloogi "backup", kasutades süsteemi käsku "mv". Seejärel nimetame faili uuesti selle algse nimega koos tühikutega. See kood ajastatakse süsteemis töötama iga kord automaatselt, kui käivitate oma süsteemi crontabi abil.

Automatiseerige skripti käitamine Crontabi abil

Oleme ülaltoodud automaatika skriptid kirjutanud. Nüüd tahame neid skripte käivitada automaatselt, kui meie süsteem taaskäivitub. Selleks lisame oma skripti crontab-i. Crontabis ülesande lisamiseks toimige järgmiselt

Kõigepealt sisestage crontabi faili muutmiseks järgmine käsk

ubuntu @ ubuntu: ~ $ crontab -e

-e lipp tähendab redigeerimisrežiimis avatud crontabi. Pärast crontabi faili avamist lisame oma ülesande sellesse faili, kasutades järgmist käsku faili lõpus

@reboot python / path / to / python / script

See käivitab pythoni skripti automaatselt iga kord, kui oma süsteemi käivitate.

Järeldus

Selles artiklis on selgitatud automatiseerimise tähtsust praktilises elus. Selle artikli lugemisel saate idee, kuidas saate oma igapäevaseid lihtsaid ülesandeid automatiseerida. Parema ja lihtsama automatiseerimise jaoks peaksite kindlasti otsima rohkem pythoni teeke ja funktsioone.

Parimad Linuxi mängupuldi kaardistamise rakendused
Kui teile meeldib mängida Linuxis mänge tavalise klaviatuuri ja hiire sisestussüsteemi asemel mängupuldiga, on teie jaoks mõned kasulikud rakendused. ...
Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...
HD Remastered Games Linuxile, millel pole kunagi varem Linuxi väljalaset olnud
Paljud mängude arendajad ja kirjastajad pakuvad frantsiisi eluea pikendamiseks välja vanade mängude HD-remasteri. Palun fännid, kes soovivad ühilduvus...