Python Academy · leksjon

Grunnleggende om argparse

Tolke kommandolinjeargumenter

Leksjon 1 av 413 trinn

Grunnleggende om argparse er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 4 leksjoner.

Hvorfor argparse?

Modulen argparse (fra standardbiblioteket) bygger brukervennlige kommandolinjegrensesnitt. Den tolker argumenter, validerer typer og genererer hjelpetekst automatisk.

import argparse

parser = argparse.ArgumentParser(description='A demo tool')
print(type(parser).__name__)

Opprette en parser

Start med å opprette en ArgumentParser. description vises i den automatisk genererte hjelpen.

import argparse

parser = argparse.ArgumentParser(description='Greet a user')
print('parser ready')

Posisjonsargumenter

add_argument('name') definerer et obligatorisk posisjonsargument. Her sender vi inn en liste til parse_args, slik at det kan kjøres uten en faktisk kommandolinje.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('name')
args = parser.parse_args(['Alice'])
print('Hello,', args.name)

Valgfrie argumenter

Navn som begynner med --, er valgfrie flagg. Oppgi en default som skal brukes når brukeren utelater dem.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--greeting', default='Hi')
args = parser.parse_args(['--greeting', 'Hey'])
print(args.greeting)
print(parser.parse_args([]).greeting)

Argumenter med typer

Bruk type=int (eller float og så videre) slik at argparse konverterer og validerer verdien. Ugyldige inndata gir en tydelig feilmelding.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--count', type=int, default=1)
args = parser.parse_args(['--count', '5'])
print(args.count * 2)

Boolske flagg

action='store_true' oppretter et flagg som er False som standard og True når det er angitt. Det passer perfekt for brytere som --verbose.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true')
print(parser.parse_args(['--verbose']).verbose)
print(parser.parse_args([]).verbose)

Korte og lange navn

Gi et argument både en kort og en lang form, for eksempel -n og --name. Begge angir det samme attributtet.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-n', '--name', default='world')
print(parser.parse_args(['-n', 'Sam']).name)

Valgmuligheter

Begrens tillatte verdier med choices. argparse avviser alt som ikke finnes i listen.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--mode', choices=['fast', 'slow'], default='fast')
print(parser.parse_args(['--mode', 'slow']).mode)

Flere verdier med nargs

nargs='+' samler én eller flere verdier i en liste. Det er nyttig når du vil godta flere inndata samtidig.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('files', nargs='+')
args = parser.parse_args(['a.txt', 'b.txt', 'c.txt'])
print(args.files)

Påkrevde valgfrie argumenter og hjelp

Legg til required=True for å tvinge frem et valgfritt flagg, og help= for å dokumentere det på den genererte bruksskjermen.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--id', required=True, type=int, help='record id')
args = parser.parse_args(['--id', '7'])
print('id is', args.id)

Et komplett lite verktøy

Når vi setter alt sammen, danner en posisjonsinndata, et alternativ med type og et flagg et lite, men komplett CLI-verktøy.

import argparse

parser = argparse.ArgumentParser(description='Repeat a message')
parser.add_argument('message')
parser.add_argument('--times', type=int, default=1)
parser.add_argument('--shout', action='store_true')
args = parser.parse_args(['hello', '--times', '2', '--shout'])
text = args.message.upper() if args.shout else args.message
for _ in range(args.times):
    print(text)

Hurtigsjekk

Test forståelsen din av argparse.

Oppsummering

Du har lært det grunnleggende om argparse:

  • ArgumentParser med posisjonsargumenter og --optional-argumenter.
  • type, default, choices og required validerer inndata.
  • action='store_true' brukes for flagg, og nargs for lister.
  • Hjelpetekst genereres automatisk.

Neste tema: underkommandoer og mer avansert håndtering av valg.

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
76
Leksjoner
320

Ofte stilte spørsmål

Er leksjonen «Grunnleggende om argparse» gratis?

Ja – hele teksten i «Grunnleggende om argparse» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Grunnleggende om argparse»?

Tolke kommandolinjeargumenter Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Python Academy?

Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Grunnleggende om argparse»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?

Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Grunnleggende om argparse
  2. Underkommandoer og alternativer
  3. Click-biblioteket
  4. Omfattende terminalutdata
← Tilbake til Python Academy