Python Academy · Lektion

Grundlæggende om argparse

Pars kommandolinjeargumenter

Lektion 1 af 413 trin

Grundlæggende om argparse er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.

Hvorfor argparse?

Modulet argparse (standardbiblioteket) opbygger brugervenlige kommandolinjegrænseflader. Det fortolker argumenter, validerer typer og genererer automatisk hjælpetekst.

import argparse

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

Oprettelse af en parser

Begynd med at oprette en ArgumentParser. description vises i den automatisk genererede hjælp.

import argparse

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

Positionsargumenter

add_argument('name') definerer et påkrævet positionsargument. Her sender vi en liste til parse_args, så det kan køre uden en rigtig kommandolinje.

import argparse

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

Valgfrie argumenter

Navne, der starter med --, er valgfrie flag. Angiv en default for de tilfælde, hvor brugeren udelader 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

Brug type=int (eller float osv.), så argparse konverterer og validerer værdien. Ugyldige input giver en tydelig fejl.

import argparse

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

Booleske flag

action='store_true' opretter et flag, der som standard er False og bliver True, når det angives. Det er perfekt til flag 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 navne

Giv et argument både en kort og en lang form, f.eks. -n og --name. Begge sætter den samme attribut.

import argparse

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

Valgmuligheder

Begræns de tilladte værdier med choices. argparse afviser alt, der ikke findes på listen.

import argparse

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

Flere værdier med nargs

nargs='+' samler en eller flere værdier i en liste, hvilket er praktisk, når du vil acceptere flere input på én gang.

import argparse

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

Påkrævede valgmuligheder og hjælp

Tilføj required=True for at gøre et valgfrit flag påkrævet, og brug help= til at dokumentere det på den genererede brugsskærm.

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 komplet lille værktøj

Samlet set danner et positionsinput, en valgmulighed med type og et flag et lille, men rigtigt kommandolinjeværktøj.

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)

Hurtig afprøvning

Afprøv din forståelse af argparse.

Opsamling

Du har lært det grundlæggende i argparse:

  • ArgumentParser med positionsargumenter og --optional-argumenter.
  • type, default, choices og required validerer input.
  • action='store_true' til flag og nargs til lister.
  • Hjælpeteksten genereres automatisk.

Næste emne: underkommandoer og mere avanceret håndtering af valgmuligheder.

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Grundlæggende om argparse” gratis?

Ja — hele teksten til “Grundlæggende om argparse” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Grundlæggende om argparse”?

Pars kommandolinjeargumenter Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Grundlæggende om argparse”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Grundlæggende om argparse
  2. Underkommandoer og indstillinger
  3. Click-biblioteket
  4. Indholdsrigt terminaloutput
← Tilbage til Python Academy