Den følgende vejledning demonstrerer, hvordan man bruger argparse i Ubuntu med Python3, og sørg således for, at begge er let tilgængelige, inden du fortsætter. Hvis Python3 ikke er tilgængelig, kan den installeres med følgende to kommandolinjer:
sudo apt-get opdateringsudo apt-get installer python3.6
Væsentlig syntaks
Formålet med denne guide er at skitsere kernefunktioner i argparse og hvordan man bruger nogle af dens muligheder. Argparse kræver Python og et notesblok for at skrive kommandoer. Ubuntu har sin egen notesblok kendt som "Teksteditor", som er tilgængelig via Ubuntu-dash. Kommandoerne udføres via terminal.
- Start Text Editor via Ubuntu Dash.
- Skriv følgende to linjer som de væsentligste koder. Første linje importerer argparse-modulet til kodestykket, hvorimod det andet opretter et argument-parser-objekt, der indeholder al den information, der kræves for at parse kommandoer til Python-datatyper. import argparse
parser = argparse.ArgumentParser () - Brug følgende kommando til at konvertere argumentstrenge til objekter. Normalt instanteres objektet og tildeles en variabel, men det er ikke nødvendigt. parser.parse_args ()
- Programmet kan udføres i Linux-terminal via python3 med følgende kommando. python3 pscript.py
Visning af appbeskrivelsen
Parameteren til appbeskrivelsen er at angive, hvad applikationen er beregnet til. Når hjælpekommandoen bruges med python-scriptet, vises appbeskrivelsen sammen med de tilgængelige flag, der skal bruges i programmet. Den følgende linje skal bruges til at angive appbeskrivelsen.
parser = argparse.ArgumentParser (beskrivelse = 'app beskrivelse')
Visning af beskrivelsen i slutningen (epilog)
Som beskrivelsen kan epilogen vises i slutningen med epilog-parameter. Ligesom beskrivelsen skal den også specificeres inden for argumentParser-funktionen.
Sådan bruges argumenter
Argumenter defineres med tilføjelsesargument () fungere. Det specificerer hvilke positionelle argumenter / argumenter, der skal bruges med python-scriptet. Som standard accepterer programmet -help-flag som positionsargument, men mere kan tilføjes ved hjælp af ovennævnte funktion. Der er mange måder at tilføje argumenter til applikationen på.
Enkelt positionelt argument
Argumentet med enkelt position sørger for, at programmet kun accepterer et argument. I det følgende eksempel angiver det bld som argumentet; derfor kan kun bld bruges som et positionsargument, når programmet udføres. Hvis argumentet mangler, kaster programmet en fejl med en "for få argumenter" advarselsmeddelelse. Det specielle ved positionelt argument er, at det ikke behøver at være angivet i terminalen, når man giver argumenter til programmet.
parser.add_argument ("bld")
Positionsargument i en bestemt type
tilføjelsesargument () tager ikke kun ét argument, men også flere argumenter som vist i det følgende eksempel. Hvis der gives flere argumenter, skal de formateres som følger. Det første argument definerer placeringsargumentets navn, det andet er dets type, hvilket betyder den type værdi, der accepteres som argumentet for programmet, den sidste er for beskrivelsen, der kun vises, når du bruger hjælpeflagget.
I det følgende skærmbillede viser det, hvordan programmet nægter at acceptere enhver ikke-integreret værdi som det positionelle argument. Kun et heltal kan indsendes her nu.
parser.add_argument ('bld', type = int,help = "der kræves en heltalsværdi")
Valgfrit positionelt argument i en bestemt type
Den følgende kommandolinje er den samme som den ovenstående, bortset fra at det gør positioneringsargumentet valgfrit med nargs-parameteren; dermed kan brugeren udelade det, når programmet udføres. Men hvis argumentet blev leveret, skal det være i den korrekte datatype, ellers fortsætter det ikke med at parses som normalt.
parser.add_argument ('bld', type = int, nargs = '?'',help = 'Dette felt er til valgfri heltalsværdi')
Valgfrit argument i en bestemt type
Forskellen mellem argument og positional argument er positionel argument behøver ikke at nævnes, mens argumentet skal nævnes som et flag sammen med dets værdi, når programmet udføres. Den følgende kommandolinje indeholder nøjagtigt de samme tekster undtagen de førende dobbeltlinjer (bindestreger). De betyder, at argumentet er et argument / flag, der skal nævnes sammen med en værdi i den givne type, når programmet udføres. At gøre brug af argument obligatorisk krævet = Sandt parameter kan bruges i funktionen add_argument () som et af de andre argumenter. Som nævnt ovenfor vil det ikke give en fejl at ikke overholde formatet.
Anvendelse af korte argumenter
Korte argumenter fungerer på samme måde som de længere kolleger. Den eneste forskel er, at det hjælper med at spare plads, når du bruger en stor mængde kommandolinjer, eller når udvikleren ønsker at holde kommandoerne ryddelige og organiseret så meget som muligt. I det følgende eksempel viser det, hvordan programmet reagerer på begge argumenter på samme måde. Når du bruger de korte argumenter, skal du sørge for kun at bruge en enkelt bindestreg, da det er standarden i branchen.
Betingede argumenter
Betingede argumenter er meget enkle at bruge som argumenter i tidligere eksempler. Den eneste forskel i dette segment er at specificere handlingsparameteren. Det accepterer to værdier, ægte butik, og store_falsk. Hvis handlingsparameter er angivet som store_true, tildeles den, når flagargumentet bruges i programmet, med ægte boolsk værdi; derfor kan det bruges som et betinget argument. Anvendelserne af betingede argumenter er at skabe et logisk flow af udførelsen baseret på brugerindgange. Så brugeren beslutter, hvilken vej de vil tage, og hvordan programmet flyder. De parsede kommandoer er inde i namespace-objektet, det er derfor, det returnerer navneområdet namespace (), efter at programmet blev udført.
parser.add_argument ('- bld', action = 'store_true',hjælp = 'betinget argument')
Angivelse af programmets navn
Frem for alle eksempler angives ikke programmets navn. I stedet angiver det bare scriptfilens navn sammen med listen over accepterede argumenter. Fordelen ved at bruge programnavnet er, at det gør programmet mere brugervenligt og uafhængigt af scriptets navn. Dette er ret nyttigt, hvis flere scriptfiler er involveret i udførelsen. Så det forveksler ikke brugeren med tvetydige navne.
Følgende to kommandolinjer skal bruges til at få det til at ske. På den første linje specificeres programmets navn med prog-parameter, hvorimod denne særlige parameter kan bruges som en variabel, hvor programnavnet bruges, og når programmet udføres, erstattes prog-parameteren med den værdi, der er angivet i argumentParser ( ) fungerer sammen med prog-parameteren, hvilket betyder "Nucuta App" i dette eksempel. Desuden er det vigtigt at bruge kommandoen som % (prog) s Ellers vil parsingen ikke være vellykket.
parser = argparse.ArgumentParser (prog = 'Nucuta App')parser.add_argument ('- bld', help = 'This% (prog) s it')
Sådan kontrolleres forhold og får udførelsen til at strømme
Udførelsesflowet er defineret med IF ELSE-klausuler. Disse klausuler styrer udførelsesstrømmen afhængigt af tilstanden og dens art. I det følgende eksempel tildeles den indtastede heltal værdi til en variabel, bld, som er i arg objekt. Derefter kontrolleres det mod en foruddefineret værdi for at kontrollere dens tilstand. I dette eksempel, hvis den indtastede værdi er større end 10, udføres den første sætning, hvis den indtastede værdi er lig med 10, udføres den anden sætning, hvis den indtastede værdi er mindre end 10, udføres den sidste sætning. Ligeledes kan udførelsesstrømmen styres let. Som eksemplet viser, kan man få adgang til argumenterne via et objekt, der returneres af funktionen parse_args () - args.
KONKLUSION
Med denne vejledning er du klar til at analysere alle kommandolinjer i python. Held og lykke