Python

Tehtävien ajoitus Pythonilla

Tehtävien ajoitus Pythonilla
Jotkut tehtävät elämässämme vievät todella aikaa ja kyllästymme näiden tehtävien tekemiseen toistuvasti. Noiden tylsien tehtävien välttämiseksi automatisoimme nuo tehtävät järjestelmässämme. Pythonissa on monia automaatiomoduuleja, joita voidaan käyttää tavariemme automatisointiin. Seuraavassa keskustellaan automaation tärkeydestä ja siitä, miten automatisoimme tavaramme pythonilla. Keskustelemme myös joistakin pythonin automaatiomoduuleista, jotka auttavat automatisoimaan juttuja. Sitten näemme joitain pythonia käyttävän automatisoinnin käyttötapauksia. Lopussa näemme, kuinka voimme ajoittaa python-komentosarjamme toimimaan automaattisesti käynnistyksen yhteydessä.

Miksi automatisoimme tavaramme

Tavaroiden automatisointi voi helpottaa elämäämme. Sillä on monia etuja, mutta alla on joitain tärkeitä automaation etuja

Automaatio Pythonilla

On olemassa monia komentosarjakieliä, kuten bash, perl jne. automatisoimaan manuaaliset prosessit, mutta python tarjoaa toteutettavissa olevan ympäristön tarpeidemme käsittelemiseksi. Tavaroiden automatisointi Python-ohjelmointikielellä on helpompaa kuin millään muulla kielellä. Pythonissa on monia automaatiomoduuleja (ts.e. aliprosessi, shutil, os, pyautogui, seleeni jne.), jota voidaan käyttää automaatiossa. Näemme joitain käyttötapauksia siitä, miten automatisoimme tavaramme.

Automaatio moduulit Pythonissa

Tässä keskustelemme joistakin python-tyyppisistä automaatiomoduuleista Käyttöjärjestelmä, ALIPROSESSI, SHUTIL, DATETIME, SELENIUM jne. Näitä moduuleja käytetään järjestelmän komentojen suorittamiseen, ja niitä voidaan käyttää myös järjestelmähakemistojen manipulointiin. Näissä moduuleissa on sisäänrakennetut toiminnot, jotka helpottavat tehtävien suorittamista järjestelmässä.

Käyttöjärjestelmä ja ALIKÄSITTELY moduuleja käytetään melkein samaan tarkoitukseen. Jotkut näiden moduulien sisäänrakennetuista toiminnoista on annettu alla

samoin SHUTIL moduulilla on monia toimintoja, jotka mahdollistavat vuorovaikutuksen järjestelmän kanssa. Jotkut tämän moduulin toiminnot on esitetty alla

TREFFIAIKA moduulia käytetään nykyisen päivämäärän ja kellonajan löytämiseen. Sitä käytetään myös viikonpäivän ja monien muiden asioiden löytämiseen. Voimme ajoittaa tehtävämme milloin tahansa ja milloin tahansa tämän moduulin avulla. Seuraavissa käyttötapauksissa käytämme sitä vain nykyisen päivämäärän ja kellonajan löytämiseen.

SELEENI Moduulia käytetään verkkosivustojemme kirjautumisen automatisointiin. Voimme kirjautua automaattisesti verkkosivustollemme ja päivittää sen käyttämällä SELEENI moduuli. SELEENI on monia sisäänrakennettuja toimintoja, joita käytetään suorittamaan erilaisia ​​selaimiin liittyviä tehtäviä.

Järjestelmän komentojen suorittaminen Pythonissa

Voimme suorittaa järjestelmäkomennot pythonissa Käyttöjärjestelmä ja ALIKÄSITTELY moduulit. Seuraava on syntaksi järjestelmän komennon suorittamiseksi pythonissa

os.järjestelmä ('komento')

TAI

aliprosessi.kutsu ('komento')

Esimerkiksi, jos haluamme luetella kaikki nykyisen hakemiston tiedostot ja hakemistot, suoritamme seuraavan komennon python-komentosarjassa

os.järjestelmä ('ls')

TAI

aliprosessi.puhelu ('ls')

Kuinka automatisoida tavaraa Pythonilla

Pythonia voidaan käyttää automatisoimaan monenlaisia ​​päivittäisiä tehtäviä, mikä voi säästää aikaa. Täällä näemme joitain käyttötapauksia tavaroiden automatisoimiseksi. Keskustelemme tiedostojen järjestämisestä lataushakemistossa ja varmuuskopion säilyttämisestä tärkeistä tiedostoistamme.

Tiedostojen järjestäminen lataushakemistoon

Kun lataamme minkä tahansa tyyppisen tiedoston, se menee oletuksena lataushakemistoon. Kun meidän on löydettävä tiedosto, se voi aiheuttaa ongelmia, koska Download-hakemistossa on useita tiedostotyyppejä. Nyt kirjoitamme python-komentosarjan järjestelmän automatisoimiseksi siten, että erityyppiset tiedostot (esim.g. mp3, png, xls jne.) menee eri hakemistoihin. Täydellinen koodi on annettu alla. Tämä koodi tarkistaa jokaisen tiedostotyypin yksitellen ja luo vastaavan hakemiston. Tämän jälkeen se siirtää tiedoston siihen liittyviin hakemistoihin (esim.g… mp3-tiedosto siirtyy Audio-hakemistoon).

tuonti os
tuonti shutil
Tuo päivämäärä
kun taas 1:
# nykyisen tunnin, minuutin ja sekunnin laskeminen
tänään = päivämäärä.treffiaika.tänään()
tänään = str (tänään)
current_hour = tänään [11:13]
current_minute = tänään [14:16]
current_sec = tänään [17:19]
# varmista, että järjestelmä järjestää tiedostot klo 8:00
jos current_hour == '08' ja current_minute == '00' ja current_sec == '00':
# hakemiston vaihtaminen ladattavaksi
os.chdir ("polku_lataus_hakemistoon")
# tallentaa kaikki tiedostonimet luetteloon
tiedostot = os.listdir (os.getcwd ())
tiedostojen tiedostonimille:
# ohittaa hakemistot
ellei os.polku.isdir (tiedostonimi):
# MP3-tiedostojen valitseminen
jos '.mp3 'tiedostonimessä:
# luodaan 'Audio' -hakemisto, jos sitä ei ole olemassa
ellei os.polku.olemassa ('Audio'):
os.mkdir ('ääni')
# liikkuva tiedosto Audio-hakemistossa
shutil.siirrä (tiedostonimi, 'Ääni')
# mp4-tiedostojen valitseminen
elif '.mp4 'tiedostonimessä:
# luodaan Video-hakemisto, jos sitä ei ole olemassa
ellei os.polku.olemassa ('Video'):
os.mkdir ('Video')
# liikkuva tiedosto Video-hakemistossa
shutil.siirrä (tiedostonimi, 'Video')
# PDF-tiedostojen valitseminen
elif '.pdf 'tiedostonimessä:
# luodaan 'PDF' -hakemisto, jos sitä ei ole olemassa
ellei os.polku.olemassa ('PDF'):
os.mkdir ('PDF')
# liikkuva tiedosto PDF-hakemistossa
shutil.siirrä (tiedostonimi, 'PDF')
# JPG- ja Png-tiedostojen valitseminen
elif '.JPG 'tiedostonimessä tai'.png 'tiedostonimessä:
# luodaan Kuvat-hakemisto, jos sitä ei ole olemassa
ellei os.polku.olemassa ('Kuvat'):
os.mkdir ('Kuvat')
# liikkuva tiedosto Kuvat-hakemistossa
shutil.siirrä (tiedostonimi, 'Kuvat')
# Excel-tiedostojen valitseminen
elif '.xls 'tiedostonimessä:
# luodaan Excel-hakemisto, jos sitä ei ole olemassa
ellei os.polku.olemassa ('Excel'):
os.mkdir ('Excel')
# liikkuva tiedosto Excel-hakemistossa
shutil.siirrä (tiedostonimi, 'Excel')
# valinta '.ppt-tiedostot
elif '.ppt 'tiedostonimessä:
# Power Point -hakemiston luominen, jos sitä ei ole olemassa
ellei os.polku.olemassa ('Power Point'):
os.mkdir ('Power Point')
# liikkuva tiedosto Power Point -hakemistossa
shutil.siirrä (tiedostonimi, 'Power Point')
# valinta '.docs-tiedostot
elif '.docx 'tiedostonimessä:
# luodaan 'Word File' -hakemisto, jos sitä ei ole olemassa
ellei os.polku.olemassa ('Word-tiedosto'):
os.mkdir ('Word-tiedosto')
# liikkuva tiedosto Word-hakemistossa
shutil.siirrä (tiedostonimi, 'Word-tiedosto')

Ensinnäkin, säästämme nykyisen ajan eri muuttujissa ja sitten tarkistamme onko aika tarkka '08: 00 'vai ei. Ohjelma tarkistaa ajan joka päivä ja suorittaa koodin, jos aika on '08: 00 ', sitten pääkoodi toimii. Pääkoodissa, Ensinnäkin muutamme hakemistomme Lataa hakemisto. Täällä tallennamme kaikki tiedostonimet luetteloon nimeltä tiedostot. Nyt luemme kaikki tiedostot yksitellen ja suodatamme pois vain tiedostot. Ohitamme hakemistot, koska aiomme järjestää vain tiedostot.

Nyt tarkistamme jokaisen tiedostotyypin, onko se mp3, mp4, jpg, pdf, xls, ppt ja docx vai ei. Jokaisen tiedostotyypin tarkistamisen jälkeen tarkistamme, onko vastaava hakemisto olemassa vai ei. Esimerkiksi, jos tiedosto on mp3, tarkistamme, onko Audio-hakemisto olemassa vai ei. Jos vastaavaa hakemistoa ei ole, luomme hakemiston. Kun olet luonut hakemiston, siirrämme tiedostomme kyseiseen hakemistoon. Tällä tavalla kaikki tiedostot voidaan siirtää vastaaviin hakemistoihin.

Tämä koodi toimii jatkuvasti ja tarkistaa, onko aika '08: 00 'vai ei. Joka päivä klo 08.00 tiedostot järjestetään automaattisesti. Tämä koodi voidaan ajoittaa joka kerta, kun käynnistät järjestelmän crontab-sovelluksen avulla. Crontab on selitetty alla.

Varmuuskopioi tiedostosi automaattisesti järjestelmäkomennoilla

Sinulla on joitain tärkeitä tiedostoja projektiisi liittyvässä hakemistossa ja jotkut tiedostot poistetaan. Mitä sitten teet? Tällaisessa tilanteessa tiedostojen varmuuskopion luominen on tärkeää. Mutta varmuuskopion luominen tiedostoista on todella tylsää ja aikaa vievää. Tämä tehtävä voidaan tehdä automaattisesti kirjoittamalla python-komentosarja. Seuraava on koodi tämän tehtävän suorittamiseksi. Tämä koodi muuntaa jokaisen tiedoston zip-tiedostoksi ja luo sitten varmuuskopiohakemiston, jos sitä ei ole olemassa. Tämän jälkeen zip-tiedosto siirretään varmuuskopiohakemistoon.

tuonti os
Tuo päivämäärä
kun taas 1:
# nykyisen ajan säästäminen
tänään = päivämäärä.treffiaika.tänään()
tänään = str (tänään)
current_hour = tänään [11:13]
current_minute = tänään [14:16]
current_sec = tänään [17:19]
# varmista, että koodi toimii tarkalla arvolla '08: 00 '
jos current_hour == '08' ja current_minute == '00' ja current_sec == '00':
# hakemiston muuttaminen asiakirjoiksi
os.chdir ('polku_dokumenttien_hakemisto')
# tallentaa kaikki tiedostonimet luetteloon
tiedostot = os.listdir (os.getcwd ())
# varmuuskopio-hakemiston luominen, jos sitä ei ole olemassa
ellei os.polku.olemassa ('varmuuskopio'):
os.mkdir ('varmuuskopio')
tiedosto tiedostoille:
# ohittaa hakemistot
ellei os.polku.isdir (tiedosto):
# tiedostonimen määrittäminen ilman välilyöntejä
alkuperäinen_nimi = tiedosto
tiedosto = tiedosto.jakaa ("")
file_name = "".liittyä (tiedosto)
# defining zip_filename
zip_file_name = tiedoston_nimi + ".postinumero"
# tarkistaa, onko tiedosto jo varmuuskopiohakemistossa vai ei
ellei os.polku.olemassa ('backup /' + zip_file_name):
# tiedostonimen muuttaminen ilman välilyöntejä
os.nimetä uudelleen (alkuperäinen_nimi, tiedostonimi)
# zip-tiedoston luominen järjestelmäkomennolla
os.järjestelmä ("zip" + zip_tiedoston_nimi + "" + tiedoston_nimi)
#mov zip-tiedosto varmuuskopiohakemistossa käyttämällä järjestelmän komentoa
os.järjestelmä ("mv" + zip_file_name + "backup")
# tiedostonimen muuttaminen alkuperäiseksi nimeksi
os.nimetä uudelleen (tiedostonimi, alkuperäinen_nimi)

Ensinnäkin säästämme nykyisen ajan muuttujina ja sitten tarkistamme, onko aika '08: 00 'vai ei. Jos aika on tarkka '08: 00 ', pääskripti suoritetaan. Ensinnäkin pääkoodissa menemme hakemistoon, jossa tärkeät tiedostot ovat. Sitten tallennamme kaikki tiedostojen nimet luetteloon. Nyt luomme hakemiston 'varmuuskopion', johon tallennamme kaikki zip-tiedostot. Jos tämä hakemisto on jo olemassa, jätämme tämän huomiotta. Nyt luemme jokaisen tiedoston ja tarkistamme, ovatko nämä tiedostoja vai ei. Hakemistoja ei oteta huomioon ja tiedostot otetaan huomioon.

Jotta tiedostosta voidaan luoda zip-tiedosto järjestelmäkomennolla, ensin nimetään tämä tiedosto uudelleen ilman välilyöntejä tiedostonimeksi, jossa on välilyöntejä. Tiedoston nimi tallennetaan muuttujaan "original_filename" ja tiedosto nimetään uudelleen ilman välilyöntejä. Nyt määritetään zip-tiedoston nimi sama kuin tiedoston nimi laajennuksella '.postinumero'.

Tämän jälkeen käytämme järjestelmän komentoa 'zip' tämän tiedoston pakkaamiseen ja sitten siirrämme tämän zip-tiedoston varmuuskopio-hakemistoon käyttäen järjestelmäkomentoa 'mv. Nimeämme sitten tiedoston uudelleen sen alkuperäisellä nimellä, jossa on välilyöntejä. Tämä koodi ajoitetaan järjestelmään suorittamaan joka kerta automaattisesti, kun käynnistät järjestelmän crontab-sovelluksen avulla.

Automatisoi komentosarjan suorittaminen Crontabin avulla

Olemme kirjoittaneet automaatioskriptit yllä. Nyt haluamme suorittaa nämä komentosarjat automaattisesti, kun järjestelmämme käynnistyy uudelleen. Voit tehdä niin lisäämällä käsikirjoituksemme crontabiin. Voit lisätä tehtävän crontabiin seuraavasti:

Kirjoita ensin seuraava komento muokata crontab-tiedostoa

ubuntu @ ubuntu: ~ $ crontab -e

-e-lippu tarkoittaa avointa crontabia muokkaustilassa. Kun olet avannut crontab-tiedoston, lisäämme tehtävämme tähän tiedostoon seuraavan komennon avulla tiedoston lopussa

@reboot python / path / to / python / script

Tämä suorittaa python-komentosarjan automaattisesti aina, kun käynnistät järjestelmän.

Johtopäätös

Tässä artikkelissa on selitetty automaation merkitys käytännön elämässä. Lukemalla tämän artikkelin saat käsityksen siitä, kuinka voit automatisoida päivittäin tekemäsi yksinkertaiset tehtävät. Sinun tulisi ehdottomasti etsiä lisää python-kirjastoja ja toimintoja paremman ja helpomman automatisoinnin varmistamiseksi.

OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...