Kāpēc mēs automatizējam savas lietas
Mūsu lietu automatizācija var atvieglot mūsu dzīvi. Tam ir daudz priekšrocību, taču dažas svarīgas automatizācijas priekšrocības ir norādītas zemāk
- Pirmā un vissvarīgākā automatizācijas priekšrocība ir laika ietaupīšana.
- Mēs varam palielināt sava darba efektivitāti (t.i.e. vairāk darba mazāk laika)
- Plānoto uzdevumu precizitāti var uzlabot.
- Automatizējot sīkumus, tiek samazināta cilvēku mijiedarbība ar sistēmu, tāpēc tiek automatizēti garlaicīgi.
Automatizācija ar Python
Ir dažas skriptu valodas, piemēram, bash, perl utt. lai automatizētu manuālos procesus, bet pitons nodrošina piemērotu vidi mūsu vajadzību apmierināšanai. Lietotnes Python programmēšanas valodā ir vieglāk automatizēt lietas nekā jebkurā citā valodā. Python ir daudz automatizācijas moduļu (t.i.e. apakšprocess, shutil, os, pyautogui, selēns utt.), ko var izmantot automatizācijā. Mēs redzēsim dažus lietošanas gadījumus, kā mēs automatizējam savus materiālus.
Automatizācijas moduļi Python
Šeit mēs apspriedīsim dažus automatizācijas moduļus, piemēram, Python OS, SUBPROCESS, SHUTIL, DATETIME, SELENIUM utt. Šie moduļi tiek izmantoti sistēmas komandu izpildei, un tos var izmantot arī, lai manipulētu ar sistēmas direktorijiem. Šajos moduļos ir iebūvētas funkcijas, kas atvieglo uzdevumu izpildi sistēmā.
OS un APAKŠPROCESS moduļi tiek izmantoti gandrīz tam pašam mērķim. Dažas no šo moduļu iebūvētajām funkcijām ir norādītas zemāk
- chdir () \\ Lai mainītu direktoriju
- mkdir () \\ Lai izveidotu jaunu direktoriju
- pārdēvēt () \\ Lai pārdēvētu failu
- listdir () \\ Lai uzskaitītu visus failus un direktorijus
- getcwd () \\ Lai uzzinātu mūsu pašreizējo direktoriju
- system () \\ Lai palaistu sistēmas komandas
- call () \\ Lai palaistu sistēmas komandas
Līdzīgi ŠUTILS modulim ir daudz funkciju, kas ļauj mijiedarboties ar sistēmu. Dažas šī moduļa funkcijas ir norādītas zemāk
- pārvietot () \\ Lai pārvietotu failu
- copy () \\ Lai kopētu failu
- rmtree () \\ Lai noņemtu visus failus direktorijā un apakšdirektorijās
DATUMS LAIKS modulis tiek izmantots, lai atrastu pašreizējo datumu un laiku. To izmanto arī, lai atrastu nedēļas dienu un daudzas citas lietas. Izmantojot šo moduli, mēs varam plānot savu uzdevumu jebkurā laikā un datumā. Turpmākajos lietošanas gadījumos mēs to izmantosim, lai atrastu tikai pašreizējo datumu un laiku.
- datums Laiks.šodien () \\ Lai atrastu pašreizējo datumu un Laiks
SELĒNIJA Modulis tiek izmantots, lai automatizētu mūsu vietnes reģistrēšanu. Mēs varam automātiski pieteikties mūsu vietnē un atjaunināt to, izmantojot SELĒNIJA modulis. SELĒNIJA ir daudz iebūvētu funkciju, kuras tiek izmantotas dažādu ar pārlūkiem saistītu uzdevumu veikšanai.
Kā izpildīt sistēmas komandas Python
Mēs varam palaist sistēmas komandas pitonā, izmantojot OS un APAKŠPROCESS moduļi. Tālāk ir sintakse, lai palaistu sistēmas komandu python
os.sistēma ('komanda')VAI
apakšprocess.zvans ('komanda')Piemēram, ja mēs vēlamies uzskaitīt visus pašreizējā direktorijā esošos failus un direktorijus, mēs izpildīsim šādu komandu python skriptā
os.sistēma ('ls')VAI
apakšprocess.zvans ('ls')Kā automatizēt lietas ar Python
Python var izmantot, lai automatizētu daudzu veidu ikdienas uzdevumus, kas var ietaupīt laiku. Šeit mēs redzēsim dažus lietojuma automatizācijas gadījumus. Mēs apspriedīsim failu sakārtošanu lejupielādes direktorijā un svarīgu failu dublējuma saglabāšanu.
Failu kārtošana lejupielāžu direktorijā
Kad mēs lejupielādējam jebkura veida failus, pēc noklusējuma tas nonāk direktorijā Lejupielāde. Kad mums jāatrod kāds fails, tas var radīt problēmas, jo lejupielāžu direktorijā ir sajaukti daudzi failu veidi. Tagad mēs uzrakstīsim pitona skriptu, lai sistēmu automatizētu tādā veidā, lai dažāda veida faili (piemēram,.g. mp3, png, xls utt.) notiek dažādos direktorijos. Pilns kods ir norādīts zemāk. Šis kods pārbaudīs katru faila tipu pa vienam, pēc tam izveidos atbilstošo direktoriju. Pēc tam tas pārvietos failu saistītos direktorijos (piemēram,.g ... mp3 fails nonāks “Audio” direktorijā).
importēt osimporta štils
importēt datumu
kamēr 1:
# pašreizējās stundas, minūtes un sekundes aprēķināšana
šodien = datetime.datums Laiks.šodien ()
šodien = str (šodien)
pašreizējā_stunda = šodien [11:13]
current_minute = šodien [14:16]
current_sec = šodien [17:19]
# pārliecinoties, ka sistēma sakārtos failus plkst. 8:00
ja current_hour == '08' un current_minute == '00' un current_sec == '00':
# mainot direktoriju, lai lejupielādētu
os.chdir ("path_to_Download_directory")
# visu failu nosaukumu saglabāšana sarakstā
faili = os.listdir (os.getcwd ())
faila nosaukumam failos:
# direktoriju ignorēšana
ja ne os.ceļš.isdir (faila nosaukums):
# atlasa mp3 failus
ja '.mp3 'faila nosaukumā:
# izveidot direktoriju 'Audio', ja tāda nav
ja ne os.ceļš.pastāv (“Audio”):
os.mkdir ('Audio')
# pārvietojams fails direktorijā “Audio”
štils.pārvietot (faila nosaukums, “Audio”)
# atlasa mp4 failus
elif '.mp4 'faila nosaukumā:
# izveidot direktoriju 'Video', ja tāda nav
ja ne os.ceļš.pastāv (“Video”):
os.mkdir ('Video')
# pārvietojams fails direktorijā “Video”
štils.pārvietot (faila nosaukums, “Video”)
# atlasa pdf failus
elif '.pdf 'faila nosaukumā:
# izveidot 'PDF' direktoriju, ja tāda nav
ja ne os.ceļš.pastāv (“PDF”):
os.mkdir ('PDF')
# pārvietojams fails PDF direktorijā
štils.pārvietot (faila nosaukums, 'PDF')
# jpg un png failu atlase
elif '.JPG 'faila nosaukumā vai'.png 'faila nosaukumā:
# izveidot mapi 'Attēli', ja tāda nav
ja ne os.ceļš.pastāv (“Attēli”):
os.mkdir ('Attēli')
# pārvietojams fails direktorijā “Attēli”
štils.pārvietot (faila nosaukums, 'Attēli')
# Excel failu atlase
elif '.xls 'faila nosaukumā:
# izveidot 'Excel' direktoriju, ja tāda nav
ja ne os.ceļš.pastāv (“Excel”):
os.mkdir ('Excel')
# pārvietojams fails 'Excel' direktorijā
štils.pārvietot (faila nosaukums, 'Excel')
# atlasīšana.ppt 'faili
elif '.ppt 'faila nosaukumā:
# izveidojot direktoriju 'Power Point', ja tāda nav
ja ne os.ceļš.pastāv ('Power Point'):
os.mkdir ('Power Point')
# pārvietojams fails direktorijā 'Power Point'
štils.pārvietot (faila nosaukums, 'Power Point')
# atlasīšana.dokumentu faili
elif '.docx 'faila nosaukumā:
# izveidot direktoriju 'Word File', ja tāda nav
ja ne os.ceļš.pastāv ('Word fails'):
os.mkdir ('Word fails')
# pārvietojams fails direktorijā 'Word File'
štils.pārvietot (faila nosaukums, 'Word fails')
Pirmkārt, mēs ietaupīsim pašreizējo laiku dažādos mainīgajos, pēc tam pārbaudīsim, vai laiks ir precīzs '08: 00 'vai nē. Programma katru dienu pārbaudīs laiku un palaidīs kodu, ja laiks ir '08: 00 ', tad darbosies galvenais kods. Galvenajā kodā vispirms mainām direktoriju uz direktoriju Lejupielādēt. Šeit mēs visus failu nosaukumus saglabāsim ar nosaukumu faili. Tagad mēs lasīsim visus failus pa vienam un filtrēsim tikai failus. Mēs ignorēsim direktorijus, jo mēs kārtosim tikai failus.
Tagad mēs pārbaudīsim katru faila tipu, vai tas ir mp3, mp4, jpg, pdf, xls, ppt un docx vai nav. Pēc katra faila veida pārbaudes mēs pārbaudīsim, vai atbilstošais direktorijs pastāv vai nav. Piemēram, ja fails ir mp3, mēs pārbaudīsim, vai direktorija “Audio” ir vai nav. Ja atbilstošā direktorija neeksistē, mēs izveidosim direktoriju. Pēc direktorijas izveidošanas mēs pārvietosim failu šajā direktorijā. Tādā veidā visus failus var pārvietot uz tiem atbilstošajiem direktorijiem.
Šis kods darbosies nepārtraukti un turpinās pārbaudīt, vai laiks ir '08: 00 'vai nav. Katru dienu plkst. '08: 00 'faili tiks sakārtoti automātiski. Šo kodu var ieplānot palaist katru reizi, kad sākat sistēmu, izmantojot crontab. Crontab ir paskaidrots zemāk.
Automātiski dublējiet failus, izmantojot sistēmas komandas
Jums ir daži svarīgi faili direktorijā, kas saistīts ar jūsu projektu, un kaut kā daži faili tiek izdzēsti. Tad ko tu darīsi? Šādā situācijā ir svarīgi izveidot failu dublējumu. Bet failu dublējuma izveidošana ir patiešām garlaicīga un prasa daudz laika. Šo uzdevumu var veikt automātiski, uzrakstot pitona skriptu. Šis ir kods šī uzdevuma veikšanai. Šis kods pārveidos katru failu zip failā, pēc tam tas izveidos dublējuma direktoriju, ja tāda nav. Pēc tam zip fails tiks pārvietots dublējuma direktorijā.
importēt osimportēt datumu
kamēr 1:
# ietaupot pašreizējo laiku
šodien = datetime.datums Laiks.šodien ()
šodien = str (šodien)
pašreizējā_stunda = šodien [11:13]
current_minute = šodien [14:16]
current_sec = šodien [17:19]
# pārliecinoties, ka kods darbosies precīzi '08: 00 '
ja current_hour == '08' un current_minute == '00' un current_sec == '00':
# direktorija mainīšana uz dokumentiem
os.chdir ('path_to_documents_directory')
# visu failu nosaukumu saglabāšana sarakstā
faili = os.listdir (os.getcwd ())
# izveidot 'rezerves' direktoriju, ja tāda nav
ja ne os.ceļš.pastāv (“rezerves”):
os.mkdir ('rezerves kopija')
failam failos:
# direktoriju ignorēšana
ja ne os.ceļš.isdir (fails):
# faila nosaukuma noteikšana bez atstarpēm
sākotnējais_nosaukums = fails
fails = fails.sadalīt ("")
file_name = "".pievienoties (fails)
# defining zip_filename
zip_file_name = faila_nosaukums + ".zip "
# pārbaudīt, vai fails jau pastāv rezerves direktorijā vai nav
ja ne os.ceļš.pastāv ('backup /' + zip_file_name):
# faila nosaukuma maiņa bez atstarpēm
os.pārdēvēt (sākotnējais_nosaukums, faila_nosaukums)
# izveidot ZIP failu, izmantojot sistēmas komandu
os.sistēma ("zip" + zip_faila_nosaukums + "" + faila_nosaukums)
#moving zip failu dublējuma direktorijā, izmantojot sistēmas komandu
os.sistēma ("mv" + zip_file_name + "backup")
# mainot faila nosaukumu uz tā sākotnējo nosaukumu
os.pārdēvēt (faila_nosaukums, sākotnējais_nosaukums)
Vispirms mēs ietaupīsim pašreizējo laiku mainīgajos un pēc tam pārbaudīsim, vai laiks ir '08: 00 'vai nav. Ja laiks ir precīzs '08: 00 ', tiks palaists galvenais skripts. Galvenajā kodā, pirmkārt, mēs dodamies uz direktoriju, kurā atrodas svarīgi faili. Tad mēs visus failu nosaukumus saglabājam sarakstā. Tagad mēs izveidosim direktoriju 'backup', kurā mēs saglabāsim visus zip failus. Ja šī direktorija jau pastāv, mēs to ignorēsim. Tagad mēs izlasīsim katru failu un pārbaudīsim, vai tie ir faili. Katalogi tiks ignorēti, un faili tiks izskatīti.
Lai izveidotu faila zip failu, izmantojot sistēmas komandu, vispirms mēs pārdēvēsim šo failu bez atstarpēm, jo faila nosaukums ar atstarpēm tiek uzskatīts par atšķirīgu failu katrā vietā, kad tas tiek palaists sistēmas komandā, izmantojot python skriptu. Faila nosaukums tiek saglabāts mainīgajā 'original_filename', un fails tiek pārdēvēts bez atstarpēm. Tagad mēs definēsim zip faila nosaukumu tāpat kā faila nosaukumu ar paplašinājumu '.zip '.
Pēc tam mēs izmantosim sistēmas komandu 'zip', lai saspiestu šo failu, un pēc tam mēs pārvietosim šo zip failu 'backup' direktorijā, izmantojot sistēmas komandu 'mv'. Tad mēs atkal pārdēvēsim failu ar tā sākotnējo nosaukumu ar atstarpēm. Šis kods tiks ieplānots sistēmā darboties katru reizi automātiski, kad sākat sistēmu, izmantojot crontab.
Automatizējiet skripta palaišanu, izmantojot Crontab
Mēs esam uzrakstījuši automatizācijas skriptus iepriekš. Tagad mēs vēlamies palaist šos skriptus automātiski, ikreiz, kad mūsu sistēma tiek restartēta. Lai to izdarītu, mēs pievienojam mūsu skriptu crontab. Lai pievienotu uzdevumu crontab, rīkojieties šādi
Vispirms ierakstiet šādu komandu, lai rediģētu crontab failu
ubuntu @ ubuntu: ~ $ crontab -e-e karodziņš nozīmē atvērtu crontab rediģēšanas režīmā. Pēc crontab faila atvēršanas tagad mēs pievienosim savu uzdevumu šajā failā, izmantojot šādu komandu faila beigās
@reboot python / path / to / python / scriptTas automātiski palaidīs pitona skriptu katru reizi, kad palaižat sistēmu.
Secinājums
Šajā rakstā ir izskaidrota automatizācijas nozīme praktiskajā dzīvē. Izlasot šo rakstu, jūs gūstat ideju, kā jūs varat automatizēt savus vienkāršos uzdevumus, ko veicat katru dienu. Lai labāk un vienkāršāk automatizētu, noteikti jāmeklē vairāk pitonu bibliotēku un funkciju.