Python

Python Command Line Parsing Tutorial

Python Command Line Parsing Tutorial
Parsing er en prosess for å analysere en serie tekster for å finne ut hva programmet skal gjøre med de gitte kommandoene. Teksten er brutt i små biter, kjent som tokens for å bygge datastrukturen kjent for kompilatoren, eller tolken. Utførelsen resulterer i det tiltenkte resultatet på slutten. Python brukes ofte som et språk for å analysere kommandolinjer uten problemer. Denne guiden bruker denne spesielle modulen som leveres med Python, og den er kjent som argparse. Det spesielle med argparse er at det er ganske enkelt å bruke, brukervennlig, tilgjengelig med Python, og hjelper med å lage kommandolinjegrensesnitt med letthet.

Den følgende guiden demonstrerer hvordan du bruker argparse i Ubuntu, med Python3, og sørg dermed for at begge er lett tilgjengelige før du går videre. Hvis Python3 ikke er tilgjengelig, kan den installeres med følgende to kommandolinjer:

sudo apt-get oppdatering
sudo apt-get install python3.6

Essensiell syntaks

Hensikten med denne veiledningen er å skissere kjernefunksjonene i argparse, og hvordan du bruker noen av alternativene. Argparse krever Python, og et notisblokk for å skrive inn kommandoene. Ubuntu har sin egen notisblokk, kjent som "Text editor", som er tilgjengelig via Ubuntu dash. Kommandoene utføres via terminal.

  1. Start Text Editor via Ubuntu Dash.
  2. Skriv inn følgende to linjer som de viktigste kodene. Første linje importerer argparse-modulen til kodebiten, mens den andre oppretter et argument-parserobjekt, som inneholder all informasjonen som kreves for å analysere kommandoer til Python-datatyper. importer argparse
    parser = argparse.ArgumentParser ()
  3. Bruk følgende kommando for å konvertere argumentstrenger til objekter. Vanligvis blir objektet instantiert og tilordnet en variabel, men det er ikke nødvendig. parser.parse_args ()
  4. Programmet kan kjøres i Linux-terminal via python3 med følgende kommando. python3 pscript.py

Viser appbeskrivelsen

Appbeskrivelsesparameteren er å oppgi hva applikasjonen er for. Når hjelpekommandoen brukes med python-skriptet, vises appbeskrivelsen sammen med tilgjengelige flagg som skal brukes i programmet.  Følgende linje må brukes for å angi appbeskrivelsen.

parser = argparse.ArgumentParser (beskrivelse = 'appbeskrivelse')

Viser beskrivelsen på slutten (epilog)

Som beskrivelsen kan epilogen vises på slutten med epilog-parameteren. I likhet med beskrivelsen, må den også spesifiseres i argumentParser-funksjonen.

Hvordan bruke argumenter

Argumenter er definert med add_argument () funksjon. Den spesifiserer hvilke posisjonsargumenter / argumenter som skal brukes med python-skriptet. Som standard godtar programmet -help-flagg som posisjonsargument, men mer kan legges til ved å bruke den nevnte funksjonen. Det er mange måter å legge til argumenter i applikasjonen.

Enkeltposisjonsargument

Enkeltposisjonsargumentet sørger for at programmet bare godtar ett argument. I det følgende eksemplet angir det bld som argumentet; Derfor kan bare bld brukes som et posisjonsargument når programmet kjøres. Hvis argumentet mangler, vil programmet kaste feil med advarselen "for få argumenter". Det spesielle med posisjonsargument er at det ikke trenger å bli oppgitt i terminalen når man gir argumenter til programmet.

parser.add_argument ("bld")

Posisjonsargument i en bestemt type

add_argument () tar ikke bare ett argument, men også flere argumenter som vist i følgende eksempel. Hvis flere argumenter er gitt, må de formateres som følger. Det første argumentet definerer posisjonsargumentets navn, det andre er dets type, noe som betyr at verdien av verdien aksepteres som argumentet for programmet, den siste er for beskrivelsen som bare vises når du bruker hjelpeflagget.

I det følgende skjermbildet viser det hvordan programmet nekter å godta ikke-integralverdi som posisjonsargument. Bare en heltallverdi kan sendes inn her nå.

parser.add_argument ('bld', type = int,
help = "det kreves et heltall")

Valgfritt posisjonsargument i en spesiell type

Følgende kommandolinje er den samme som den over, bortsett fra at det gjør posisjonsargumentet valgfritt med nargs-parameteren; dermed kan brukeren utelate det når programmet kjøres. Imidlertid, hvis argumentet ble levert, må det være i riktig datatype, ellers vil det ikke fortsette å analysere som vanlig.

parser.add_argument ('bld', type = int, nargs = '?',
help = 'Dette feltet er for valgfri heltallverdi')

Valgfritt argument i en spesiell type

Forskjellen mellom argument og posisjonsargument er posisjonsargument trenger ikke å nevnes, mens argumentet må nevnes som et flagg sammen med verdien når programmet kjøres. Følgende kommandolinje inneholder nøyaktig de samme tekstene, bortsett fra de ledende dobbeltlinjene (bindestrek). De betyr at argumentet er et argument / flagg som må nevnes sammen med en verdi i den gitte typen når programmet kjøres. Å gjøre bruk av argument obligatorisk påkrevd = sant parameter kan brukes i add_argument () -funksjonen som et av de andre argumentene. Som sagt ovenfor, vil det ikke føre til en feil hvis du ikke overholder formatet.

Bruk av korte argumenter

Korte argumenter fungerer på samme måte som de lengre kolleger. Den eneste forskjellen er at det hjelper å spare plass når du bruker en stor mengde kommandolinjer eller når utvikleren ønsker å holde kommandoene ryddige, og organisert så mye som mulig. I det følgende eksemplet viser det hvordan programmet reagerer på begge argumentene på samme måte. Når du bruker de korte argumentene, må du bare bruke en enkelt bindestrek da det er standarden i bransjen.

Betingede argumenter

Betingede argumenter er veldig enkle å bruke som argumenter i tidligere eksempler. Den eneste forskjellen i dette segmentet er å spesifisere handlingsparameteren. Den aksepterer to verdier, ekte butikk, og store_falsk. Hvis handlingsparameter er spesifisert som store_true, tildeles den når ekte flaggargument brukes i programmet med sann boolsk verdi; derav kan den brukes som et betinget argument. Anvendelsene av betingede argumenter er å lage en logisk flyt av utførelsen basert på brukerinngangene. Så brukeren bestemmer hvilken vei de vil ta, og hvordan programmet flyter. De analyserte kommandoene er inne i namespace-objektet, det er derfor det returnerer nøkkelordet namespace () etter at programmet ble kjørt.

parser.add_argument ('- bld', action = 'store_true',
hjelp = 'betinget argument')

Spesifisere programmets navn

Fremfor alle eksempler spesifiserer ikke programmets navn. I stedet står det bare skriptfilens navn sammen med listen over aksepterte argumenter. Fordelen med å bruke programnavnet er at det gjør programmet mer brukervennlig og uavhengig av manusens navn. Dette er ganske nyttig hvis flere skriptfiler er involvert i kjøringen. Så det vil ikke forvirre brukeren med tvetydige navn.

Følgende to kommandolinjer må brukes for å få det til. På den første linjen spesifiserer den programmets navn med prog-parameter, mens denne spesielle parameteren kan brukes som en variabel der programnavnet brukes, og når programmet kjøres, erstattes prog-parameteren med verdien som er oppgitt i argumentParser ( ) fungerer sammen med prog-parameter, som betyr "Nucuta App" i dette eksemplet. Videre er det viktig å bruke kommandoen som % (prog) s Ellers vil ikke analyseringen være vellykket.

parser = argparse.ArgumentParser (prog = 'Nucuta App')
parser.add_argument ('- bld', help = 'This% (prog) s it')

Hvordan sjekke forholdene og få gjennomføringen til å flyte

Utførelsesflyten er definert med IF ELSE-klausuler. Disse paragrafene styrer gjennomføringsflyten avhengig av tilstanden og dens art. I det følgende eksemplet tildeles den tastede heltallverdien til en variabel, bld, som er i arg-objekt. Deretter sjekkes det mot en forhåndsdefinert verdi for å sjekke tilstanden. I dette eksemplet, hvis den angitte verdien er større enn 10, blir den første setningen utført. Hvis den angitte verdien er lik 10, blir den andre setningen utført, hvis den angitte verdien er mindre enn 10, blir den siste setningen utført. På samme måte kan utførelsesflyten lett styres. Som eksemplet viser, kan du få tilgang til argumentene via objekt som returneres av parse_args () -funksjonen - args.

KONKLUSJON

Med denne guiden er du klar til å analysere alle kommandolinjene i python.  Lykke til

Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...
Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...