Python

Python komandrindas parsēšanas apmācība

Python komandrindas parsēšanas apmācība
Parsēšana ir tekstu virknes analīzes process, lai uzzinātu, kas programmai ir jādara ar dotajām komandām. Teksts tiek sadalīts mazos gabalos, kas pazīstami kā marķieri, lai izveidotu sastādītājam vai tulkotājam zināmo datu struktūru. Izpildes beigās ir paredzētais rezultāts. Python bieži tiek izmantots kā valoda, lai viegli parsētu komandrindas. Šajā rokasgrāmatā tiek izmantots šis īpašais modulis, kas piegādāts kopā ar Python, un tas ir pazīstams kā argparse. Īpašais argparse ir tas, ka tas ir diezgan ērti lietojams, lietotājam draudzīgs, pieejams ar Python un palīdz viegli izveidot komandrindu saskarnes.

Šajā rokasgrāmatā ir parādīts, kā izmantot argparse Ubuntu ar Python3, un tādējādi pārliecinieties, ka abi ir viegli pieejami, pirms turpināt darbu. Ja Python3 nav pieejams, to var instalēt ar šādām divām komandrindām:

sudo apt-get atjauninājums
sudo apt-get install python3.6

Būtiskā sintakse

Šīs rokasgrāmatas mērķis ir izklāstīt argparse galvenās iezīmes un to, kā izmantot dažas no tās iespējām. Argparse komandām jāievada Python un piezīmju bloks. Ubuntu ir savs bloknots, kas pazīstams kā “Teksta redaktors”, kuram var piekļūt, izmantojot Ubuntu domuzīmi. Komandas tiek izpildītas, izmantojot termināli.

  1. Palaidiet teksta redaktoru, izmantojot Ubuntu Dash.
  2. Ierakstiet šādas divas rindas kā galvenos kodus. Pirmā rinda importē argparse moduli koda fragmentā, bet otrā izveido objektu argumentu parsētājam, kurā ir visa informācija, kas nepieciešama komandu parsēšanai Python datu tipos. importa argparse
    parsētājs = argparse.ArgumentsParser ()
  3. Izmantojiet šo komandu, lai argumentu virknes pārveidotu par objektiem. Parasti objekts tiek instantizēts un tiek piešķirts mainīgajam, taču tas nav nepieciešams. parsētājs.parse_args ()
  4. Programmu var izpildīt Linux terminālā, izmantojot python3 ar šādu komandu. python3 pscript.py

Parāda lietotnes aprakstu

Lietotnes apraksta parametram ir jānorāda lietojumprogramma. Ja palīdzības komandu izmanto kopā ar pitona skriptu, tiek parādīts lietotnes apraksts kopā ar pieejamajiem karodziņiem, kas jāizmanto programmā.  Lai norādītu lietotnes aprakstu, jāizmanto šī rinda.

parsētājs = argparse.ArgumentParser (apraksts = 'lietotnes apraksts')

Apraksta parādīšana beigās (Epilogs)

Kā aprakstu, epilogu var parādīt beigās ar epiloga parametru. Tāpat kā apraksts, tas arī jānorāda funkcijā argumentParser.

Kā izmantot argumentus

Argumenti tiek definēti ar add_argument () funkciju. Tas norāda, kuri pozicionālie argumenti / argumenti jāizmanto ar pitona skriptu. Pēc noklusējuma programma kā stāvokļa argumentu pieņem karodziņu -help, taču, izmantojot iepriekšminēto funkciju, var pievienot vairāk. Argumentus lietojumprogrammai var pievienot daudzos veidos.

Vienotais pozīcijas arguments

Viens pozīcijas arguments nodrošina, ka programma pieņem tikai vienu argumentu. Šajā piemērā tas norāda bld kā argumentu; tāpēc tikai bld var izmantot kā pozīcijas argumentu, izpildot programmu. Ja trūkst argumenta, programma uzmetīs kļūdu ar brīdinājuma ziņojumu “pārāk maz argumentu”. Pozicionālā argumenta īpašā lieta ir tā, ka, sniedzot argumentus programmai, tas nav jānorāda terminālā.

parsētājs.add_argument ("bld")

Pozicionālais arguments konkrētā tipā

add_argument () ne tikai ņem vienu argumentu, bet arī vairākus argumentus, kā redzams nākamajā piemērā. Ja tiek sniegti vairāki argumenti, tie jāformatē šādi. Pirmais arguments nosaka pozicionālā argumenta nosaukumu, otrais ir tā tips, kas nozīmē, ka vērtības tips tiek pieņemts kā programmas arguments, pēdējais ir aprakstam, kas parādās tikai tad, ja tiek izmantots palīdzības karogs.

Nākamajā ekrānuzņēmumā tas parāda, kā programma atsakās pieņemt jebkuru neintegrālu vērtību kā pozīcijas argumentu. Šeit tagad var iesniegt tikai veselu skaitli.

parsētājs.add_argument ('bld', tips = int,
help = "Nepieciešama vesela skaitļa vērtība")

Izvēles pozīcijas arguments konkrētā tipā

Nākamā komandrinda ir tāda pati kā iepriekšminētā, izņemot to, ka pozicionālais arguments nav obligāts ar parametru nargs; tādējādi lietotājs to var izlaist, izpildot programmu. Tomēr, ja arguments tika norādīts, tam ir jābūt pareizam datu tipam, pretējā gadījumā tas neturpinās parsēšanu kā parasti.

parsētājs.add_argument ('bld', type = int, nargs = '?",
help = 'Šis lauks ir izvēles skaitļa vērtība')

Neobligāts arguments konkrētā tipā

Atšķirība starp argumentu un pozicionālo argumentu ir pozicionāls arguments nav jāpiemin, turpretī arguments, izpildot programmu, jāpiemin kā karodziņš kopā ar tā vērtību. Nākamajā komandrindā ir tieši tie paši teksti, izņemot vadošās dubultās līnijas (defises). Tie nozīmē, ka arguments ir arguments / karodziņš, kas, izpildot programmu, jāpiemin kopā ar vērtību dotajā tipā. Padarīt obligātu argumentu izmantošanu obligāti = True parametru var izmantot funkcijā add_argument () kā vienu no citiem argumentiem. Kā minēts iepriekš, neatbilstība formātam radīs kļūdu.

Īsu argumentu izmantošana

Īsi argumenti darbojas tāpat kā garāki kolēģi. Vienīgā atšķirība ir tā, ka tas palīdz ietaupīt vietu, ja tiek izmantots liels skaits komandrindu vai kad izstrādātājs vēlas saglabāt komandas sakārtotas un pēc iespējas sakārtotas. Šajā piemērā tas parāda, kā programma vienādi reaģē uz abiem argumentiem. Izmantojot īsos argumentus, noteikti izmantojiet tikai vienu defisi, jo tas ir nozares standarts.

Nosacījuma argumenti

Nosacījuma argumentus ir ļoti vienkārši izmantot kā argumentus iepriekšējos piemēros. Vienīgā atšķirība šajā segmentā ir darbības parametra norādīšana. Tā pieņem divas vērtības, veikala_patiesība, un store_false. Ja darbības parametrs ir norādīts kā store_true, ikreiz, kad programmā tiek izmantots karoga arguments, to piešķir ar patieso Būla vērtību; līdz ar to to var izmantot kā nosacītu argumentu. Nosacīto argumentu lietojumiem ir jāizveido loģiska izpildes plūsma, pamatojoties uz lietotāja ievadiem. Tātad lietotājs izlemj, kuru ceļu viņš vēlas iet un kā programma plūst. Parsētās komandas atrodas nosaukumvietas objektā, tāpēc pēc programmas izpildes tas atgriež atslēgvārdu ().

parsētājs.add_argument ('- bld', darbība = 'store_true',
help = 'nosacīts arguments')

Programmas nosaukuma norādīšana

Virs visiem piemēriem nav norādīts programmas nosaukums. Tā vietā tas vienkārši norāda skripta faila nosaukumu kopā ar pieņemto argumentu sarakstu. Programmas nosaukuma izmantošanas priekšrocība ir tā, ka programma kļūst lietotājam draudzīgāka un neatkarīgāka no skripta nosaukuma. Tas ir diezgan noderīgi, ja izpildē ir iesaistīti vairāki skriptu faili. Tātad, tas nejauks lietotāju ar neskaidriem vārdiem.

Lai tas notiktu, ir jāizmanto šādas divas komandrindas. Pirmajā rindā tas norāda programmas nosaukumu ar parametru prog, savukārt šo konkrēto parametru var izmantot kā mainīgo, kur tiek izmantots programmas nosaukums, tad, kad programma tiek izpildīta, prog parametrs tiek aizstāts ar vērtību, kas norādīta argumentā Pararser ( ) funkcija kopā ar prog parametru, kas šajā piemērā nozīmē “Nucuta App”. Turklāt ir svarīgi komandu izmantot kā % (prog) s vai arī parsēšana nebūs veiksmīga.

parsētājs = argparse.ArgumentParser (prog = 'Nucuta App')
parsētājs.add_argument ('- bld', help = 'Šis% (prog) s tas')

Kā pārbaudīt apstākļus un veikt izpildes plūsmu

Izpildes plūsma ir definēta ar IF ELSE klauzulām. Šie punkti vada izpildes plūsmu atkarībā no stāvokļa un tā rakstura. Šajā piemērā ierakstītā veselā skaitļa vērtība tiek piešķirta mainīgajam bld, kas atrodas arg objektā. Tad tas tiek pārbaudīts salīdzinājumā ar iepriekš noteiktu vērtību, lai pārbaudītu tā stāvokli. Šajā piemērā, ja ievadītā vērtība ir lielāka par 10, tiek izpildīts pirmais paziņojums, ja ievadītā vērtība ir vienāda ar 10, tiek izpildīts otrais paziņojums, ja ievadītā vērtība ir mazāka par 10, tiek izpildīts pēdējais. Tāpat izpildes plūsmu var vadīt viegli. Kā attēlots piemērā, argumentiem var piekļūt, izmantojot objektu, kuru atgrieza funkcija parse_args () - args.

SECINĀJUMS

Izmantojot šo ceļvedi, jūs esat gatavs sākt parsēt visas komandu rindas pitonā.  Veiksmi

Kontrolējiet un pārvaldiet peles kustību starp vairākiem monitoriem sistēmā Windows 10
Dual Display Mouse Manager ļauj kontrolēt un konfigurēt peles kustību starp vairākiem monitoriem, palēninot tās kustību robežas tuvumā. Windows 10/8 ļ...
WinMouse ļauj jums pielāgot un uzlabot peles rādītāja kustību Windows datorā
Ja vēlaties uzlabot peles rādītāja noklusējuma funkcijas, izmantojiet bezmaksas programmatūru WinMouse. Tas pievieno vairāk funkciju, kas palīdzēs jum...
Peles kreisā klikšķa poga nedarbojas operētājsistēmā Windows 10
Ja ar klēpjdatoru vai galddatoru izmantojat īpašu peli, bet nedarbojas peles kreisās klikšķa poga kādu iemeslu dēļ operētājsistēmā Windows 10/8/7 šeit...