Piton

Vodič za raščlanjivanje naredbenog retka za Python

Vodič za raščlanjivanje naredbenog retka za Python
Raščlanjivanje je postupak analize niza tekstova kako bi se saznalo što bi program trebao raditi s danim naredbama. Tekst je razbijen na male dijelove, poznate kao žetoni, kako bi se izgradila struktura podataka poznata sastavljaču ili tumaču. Izvršenje rezultira namjeravanim rezultatom na kraju. Python se često koristi kao jezik za lako raščlanjivanje naredbenih redaka. Ovaj se vodič koristi ovim posebnim modulom isporučenim s Pythonom, a poznat je kao argparse. Posebnost argparsea je što je prilično jednostavan za upotrebu, jednostavan za upotrebu, dostupan s Pythonom i pomaže u lakoći u stvaranju sučelja naredbenih redaka.

Sljedeći vodič pokazuje kako koristiti argparse u Ubuntuu s Python3 i tako osigurati da su oba dostupna prije nego što nastavite dalje. Ako Python3 nije dostupan, može se instalirati sa sljedeća dva naredbena retka:

sudo apt-get ažuriranje
sudo apt-get instalirati python3.6

Bitna sintaksa

Svrha ovog vodiča je dati osnovne značajke argparsea i kako koristiti neke od njegovih mogućnosti. Argparse zahtijeva Python i notepad za upisivanje njegovih naredbi. Ubuntu ima vlastiti notepad poznat kao "Uređivač teksta", kojem se može pristupiti putem Ubuntu crtice. Naredbe se izvršavaju putem terminala.

  1. Pokrenite uređivač teksta putem Ubuntu Dash-a.
  2. Unesite sljedeća dva retka kao osnovne kodove. Prvi redak uvozi modul argparse u isječak koda, dok drugi stvara objekt za raščlanjivanje argumenata, koji sadrži sve informacije potrebne za raščlanjivanje naredbi na Python tipove podataka. uvoz argparse
    raščlanjivač = argparse.ArgumentParser ()
  3. Upotrijebite sljedeću naredbu za pretvaranje niza argumenata u objekte. Obično se objekt instancira i dodjeljuje varijabli, ali to nije potrebno. parser.analizirati_args ()
  4. Program se može izvršiti u Linux terminalu putem python3 uz slijedeću naredbu. python3 pscript.py

Prikazivanje opisa aplikacije

Parametar opisa aplikacije treba navesti čemu služi aplikacija. Kada se naredba pomoći koristi s python skriptom, pojavljuje se opis aplikacije zajedno s dostupnim zastavicama koje će se koristiti u programu.  Sljedeći redak treba upotrijebiti za navođenje opisa aplikacije.

raščlanjivač = argparse.ArgumentParser (description = 'opis aplikacije')

Prikazivanje opisa na kraju (epilog)

Kao opis, epilog se na kraju može prikazati s parametrom epiloga. Poput opisa, i on mora biti naveden unutar funkcije argumentParser.

Kako koristiti argumente

Argumenti su definirani s dodaj_argument () funkcija. Određuje koji se pozicijski argumenti / argumenti koriste s python skriptom. Prema zadanim postavkama program prihvaća zastavicu -help kao pozicijski argument, ali više se može dodati pomoću gore navedene funkcije. Postoji mnogo načina za dodavanje argumenata u aplikaciju.

Pojedinačni položajni argument

Jedan pozicijski argument osigurava da program prihvaća samo jedan argument. U sljedećem primjeru kao argument navodi bld; stoga se samo bld može koristiti kao pozicijski argument prilikom izvršavanja programa. Ako argument nedostaje, program će izbaciti pogrešku s porukom upozorenja "premalo argumenata". Posebnost pozicijskog argumenta je to što on ne mora biti naveden u terminalu prilikom davanja argumenata programu.

parser.dodaj_argument ("bld")

Pozicijski argument u određenom tipu

dodaj_argument () uzima ne samo jedan argument, već i više argumenata kao što se vidi u sljedećem primjeru. Ako je navedeno više argumenata, oni moraju biti oblikovani na sljedeći način. Prvi argument definira ime pozicijskog argumenta, drugi je njegov tip, što znači da vrsta vrijednosti prihvaća kao argument programa, posljednji je za opis koji se pojavljuje samo kada se koristi zastava pomoći.

Na sljedećem snimku zaslona prikazano je kako program odbija prihvatiti bilo koju ne-integralnu vrijednost kao pozicijski argument. Ovdje se sada može poslati samo cijela vrijednost.

parser.add_argument ('bld', tip = int,
help = "potrebna je cijela vrijednost")

Izborni pozicijski argument u određenom tipu

Sljedeći je naredbeni redak isti kao i gornji, osim što čini pozicijski argument neobaveznim s parametrom nargs; stoga ga korisnik može izostaviti prilikom izvršavanja programa. Međutim, ako je argument naveden, mora biti u ispravnom tipu podataka, inače neće nastaviti s raščlanjivanjem kao i obično.

parser.add_argument ('bld', type = int, nargs = '?',
help = 'Ovo je polje za neobaveznu cijelu vrijednost')

Izborni argument u određenom tipu

Razlika između argumenta i pozicijskog argumenta je pozicijski argument ne mora se spominjati, dok se argument prilikom izvođenja programa mora spomenuti kao zastava zajedno sa svojom vrijednošću. Sljedeći naredbeni redak sadrži potpuno iste tekstove, osim vodećih dvostrukih redaka (crtica). Označavaju da je argument argument / zastava koji se mora spomenuti zajedno s vrijednošću u danom tipu prilikom izvršavanja programa. Da bi upotreba argumenta bila obavezna potrebno = Tačno parametar se može koristiti u funkciji add_argument () kao jedan od drugih argumenata. Kao što je gore rečeno, nepridržavanje formata izbacit će pogrešku.

Korištenje kratkih argumenata

Kratki argumenti djeluju na isti način kao i njegovi duži kolege. Jedina je razlika što pomaže uštedjeti prostor kada se koristi velika količina naredbenih redaka ili kada programer želi naredbe održavati urednima i organiziranim što je više moguće. U sljedećem primjeru prikazano je kako program na oba argumenta reagira na isti način. Kada upotrebljavate kratke argumente, upotrijebite samo jednu crticu jer je to standard u industriji.

Uvjetni argumenti

Uvjetne argumente vrlo je jednostavno koristiti kao argumente u prethodnim primjerima. Jedina razlika u ovom segmentu je određivanje parametra akcije. Prihvaća dvije vrijednosti, trgovina_istina, i store_false. Ako je parametar radnje naveden kao store_true, kad god se argument zastave koristi u programu, on se dodjeljuje istinitom logičkom vrijednošću; stoga se može koristiti kao uvjetni argument. Primjene uvjetnih argumenata su da naprave logički tok izvršenja na temelju korisničkih unosa. Dakle, korisnik odlučuje kojim putem želi ići i kako program teče. Analizirane naredbe nalaze se unutar objekta prostora prostora, zato vraća ključnu riječ namespace () nakon izvršavanja programa.

parser.add_argument ('- bld', action = 'store_true',
pomoć = 'uvjetni argument')

Određivanje naziva programa

Iznad svih primjera ne navodi se naziv programa. Umjesto toga, samo navodi ime datoteke skripte zajedno s popisom prihvaćenih argumenata. Prednost upotrebe naziva programa je što ga čini jednostavnijim za upotrebu i neovisnim od imena skripte. Ovo je vrlo korisno ako je izvršenje uključeno u više datoteka skripti. Dakle, neće zbuniti korisnika dvosmislenim imenima.

Sljedeće dvije naredbene crte moraju se koristiti da bi se to dogodilo. U prvom retku navodi ime programa s parametrom prog, dok se ovaj određeni parametar može koristiti kao varijabla tamo gdje se koristi naziv programa, a zatim se prilikom izvršavanja programa parametar prog zamjenjuje vrijednošću navedenom u argumentParser ( ) funkcionira zajedno s parametrom prog, što u ovom primjeru znači "Nucuta App". Nadalje, važno je koristiti naredbu kao % (prog) s inače raščlanjivanje neće biti uspješno.

raščlanjivač = argparse.ArgumentParser (prog = 'Nucuta App')
parser.add_argument ('- bld', help = 'Ovaj% (prog) s to')

Kako provjeriti uvjete i izvršiti tijek izvršenja

Tok izvršenja definiran je klauzulama IF ELSE. Ove klauzule usmjeravaju tijek izvršenja ovisno o stanju i njegovoj prirodi. U sljedećem primjeru otkucana cijela vrijednost dodjeljuje se varijabli bld koja se nalazi u objektu arg. Zatim se provjerava prema unaprijed definiranoj vrijednosti kako bi se provjerilo njezino stanje. U ovom primjeru, ako je unesena vrijednost veća od 10, izvršava se prvi izraz, ako je unesena vrijednost jednaka 10, izvršava se drugi izraz, ako je unesena vrijednost manja od 10, izvršava se posljednji izraz. Isto tako, tijek izvršenja može se voditi s lakoćom. Kao što primjer pokazuje, argumentima se može pristupiti putem objekta koji vraća funkcija parse_args () funkcija - args.

ZAKLJUČAK

S ovim vodičem spremni ste započeti raščlanjivanje svih naredbenih redaka u pythonu.  Sretno

Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...