
Gabriel Brooks
0
910
38
Kladim se da niste znali da možete pisati skripte na školjkama u Python-u.
Za bilo kojeg programera ili administratora sustava, skriptiranje školjki vitalna je vještina koju treba ovladati. Omogućuje vam automatiziranje napornih zadataka, pretvarajući ih u dosljedne, ponavljajuće akcije. Problem je u tome što može biti pomalo zastrašujuće, pogotovo ako uzmete u obzir da većina dijalekata koji opisuju školjke nemaju sintaktičku finoću koja je pronađena u sličnim Python i Ruby.
Bit ću još tromi. Većina skripti školjka ružnija je od prosječnog mopa.
Nadalje, postoje razne školjke dostupne za UNIX-ove platforme, uključujući Bash, CSH, KSH i (moj omiljeni) FISH. Kao rezultat, pisanje dosljednih skripti školjki koje rade na svakoj platformi može biti izazovno.
Mora postojati bolji način?
Predstavljamo sh.py
Tamo je. Kad ne pišem za MakeUseOf, u Python pišem kod za zabavu i zaradu. Python mi se jako sviđa zbog svoje fleksibilnosti, urođene ljepote i načina na koji dizajnira pisanje dobrog koda. Ako vam to zvuči dobro, ali već ne znate ovaj sjajan jezik, zašto ne provjerite ovih pet sjajnih web stranica kako biste naučili programiranje Pythona. 5 najboljih web stranica za učenje programiranja Pythona. 5 najboljih web stranica za učenje programiranja Pythona. Želite naučiti Python programiranje? Evo najboljih načina za učenje Pythona na mreži, od kojih su mnogi potpuno besplatni. ?
Naišao sam na ovu nevjerojatnu biblioteku prije nekoliko mjeseci zvanu sh.py, koja vam omogućuje pozivanje programa, prosljeđivanje parametara i upravljanje izlazima, a sve unutar granica Python programa.
Dakle, što to znači? Jednostavno rečeno, to znači da imate potpunu funkcionalnost skripti školjki, ali unutar jezika koji se lako čita, modularne je prirode i podržava objektno orijentirano programiranje. Super, zar ne?
Pa, kako to koristimo?
Dajem nekoliko pretpostavki u vezi s tobom. Prvo je da koristite Linux, OS X ili FreeBSD. Kao što je sada, sh.py ne radi u sustavu Windows. Međutim, ako je potrebno, uvijek možete instalirati Linux virtualni stroj. Moj kolega Justin Pot napisao je prilično koristan članak o ovome, koji možete pogledati ovdje. Kako koristiti virtualne kutije besplatnih slika za testiranje i pokretanje operativnog sustava otvorenog koda [Linux] Kako se koriste virtualne kutije besplatnim slikama za testiranje i pokretanje operativnog sustava otvorenog koda [Linux] Brzo isprobajte širok izbor operativnih sustava otvorenog koda, neki s kojima ste upoznati, a neki niste. Možete početi pregledavati sada na Virtualboxes, web mjestu koje traje gotovo sav posao ... .
Druga pretpostavka koju tvrdim je da pokrećete nedavnu verziju Pythona (ili 2.7 ili 3.2) i instalirate upravitelja PIP paketa. Ako to nije slučaj, pogledajte službenu dokumentaciju Pythona.
Sve dobro? Zatim ćemo nastaviti.
Počnimo kodiranje
U terminalu instalirajte sh.py sa sljedećom naredbom.
sudo pip instalirati sh
Razlog zašto ovdje koristimo 'sudo' je taj što moramo povećati svoja dopuštenja za dodavanje novih Python paketa. Ako se sh.py ispravno instalira, na vašem terminalu ćete vidjeti sljedeće retke.
Preuzimanje / raspakiranje sh Preuzimanje sh-1.09.tar.gz Pokretanje setup.py egg_info za paket sh Instaliranje prikupljenih paketa: sh Running setup.py install za sh Uspješno instalirano sh Čišćenje…
Ako to ne kaže, dobri su izgledi da instalacija nije uspjela. Tužno. Ako je to slučaj, pokušajte provjeriti svoja dopuštenja i jeste li stvarno instalirali PIP. Ako je još uvijek nema, pokušajte pitati na Stack Overflowu (o kojem je već razgovarano 10 web stranica koje mogu pomoći programeru početniku s isječcima uzorka 10 web stranica koje mogu pomoći programeru početnicima s isječcima uzorka kod našeg internetskog urednika, Saikat Basu) ili MakeUseOf odgovori.
Sada je to razvrstano, stvorite novi direktorij. Ovdje ćemo smjestiti sav naš kod. Otvorite uređivač teksta i stvorite datoteku koja se zove 'shtest.py'. Ovdje ćemo jednostavno stvoriti novu datoteku, a zatim popisati sadržaj direktorija u kojem se nalazimo. Zvuči dobro?
U shtest.py dodajte sljedeće retke.
#! / usr / bin / env python import sh
sh.touch ('zdravo') ispis (sh.ls ('- l'))
Ovdje su jednostavne stvari. Riješimo to.
#! / usr / bin / env python
Ta se linija naziva hash-bang i upućuje vašu ljusku da otvori ovu datoteku kao Python program. To vam omogućuje otvaranje kao i skriptu ljuske (./shtest.py), umjesto da je otvorite izravno s Python-om (python shtest.py). Super, zar ne?
uvoz sh
Ova linija uvozi sh knjižnicu koju smo instalirali prije nekoliko trenutaka. Ne možemo nastaviti bez toga, pa se uvjerite da je u vašem kodu!
sh.touch ( 'halo')
Možda ste upoznati s Linux naredbom, 'touch'. Ovo stvara praznu datoteku s imenom datoteke koju ste odredili. Ovdje izravno zovemo "touch" iz Pythona. Kao što vidite, to smo prefarbali sa 'sh.', a prenosimo mu parametar 'zdravo'.
print (sh.ls ( '- L'))
Možda vam je poznata naredba za ispis koja šalje tekst na konzolu. Ovdje ga prenosimo kao "sh.ls" kao parametar. Ovo poziva Linux ls program koji sadrži sadržaj direktorija. Također prosljeđujemo parametar '-l', koji ispisuje detaljnije informacije o sadržaju direktorija u kojem izvršimo.
Radi li to? Uvjerite se sami.
Oni koji imaju oči s jastrebovima primijetit će da u toj mapi lebdi još jedna datoteka pod nazivom "gitsh.py". Što bi sve moglo biti unutra?
Pod komande
sh.py ima nekoliko udica za popularne programe koji su već pečeni. To uključuje git, sudo i značajan broj Linux alata. Oni čine interakciju s tim uslugama unutar Pythona još lakšom.
Koliko jednostavno? Pa, pokazat ću vam kako inicijalizirati prazno Git spremište u samo tri retka koda. Prvo napravite datoteku nazvanu "gitsh.py" i otvorite je u svom omiljenom uređivaču teksta.
Unutra napišite sljedeća tri retka.
#! / usr / bin / env python from sh import git print (git.init ())
Većina toga trebala bi vam biti prilično poznata. Primijetit ćete da smo uvezli 'git' iz 'sh'. To samo znači da smo uveli određeni dio funkcionalnosti iz modula, a sve ostalo ignoriramo.
Nakon toga inicijaliziramo naše spremište.
ispis (git.init ())
Razgovarali smo o tisku. Trebali biste primijetiti da zovemo "git" bez ".sh" postupka. To je zato što smo posebno uvezli git funkcionalnost iz 'sh' knjižnice.
I o tome se radi. Kada pokrenemo gitsh.py, trebali bismo vidjeti sljedeće retke na vašem terminalu.
Zaključak
To je bio razumno jednostavan uvod u sh.py. Ako želite saznati više o tome, pogledajte službenu dokumentaciju ovdje. Ako se zaglaviš, slobodno mi ostavi komentar i pokušaću vam pomoći.