0Pricing
Python Academy · Lekcja

Podstawy argparse

Analizuj argumenty wiersza poleceń

Podstawy argparse to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Dlaczego argparse?

Moduł argparse (z biblioteki standardowej) służy do tworzenia przyjaznych interfejsów wiersza poleceń. Analizuje argumenty, sprawdza ich typy i automatycznie generuje tekst pomocy.

import argparse

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

Tworzenie parsera

Najpierw należy utworzyć obiekt ArgumentParser. Wartość description pojawi się w automatycznie wygenerowanej pomocy.

import argparse

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

Argumenty pozycyjne

add_argument('name') definiuje wymagany argument pozycyjny. W tym przykładzie przekazujemy listę do parse_args, aby uruchomić kod bez prawdziwego wiersza poleceń.

import argparse

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

Argumenty opcjonalne

Argumenty zaczynające się od -- są opcjonalnymi flagami. Należy podać wartość default, która zostanie użyta, gdy użytkownik pominie daną flagę.

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)

Argumenty z określonym typem

Należy użyć type=int (lub na przykład float), aby argparse konwertował i sprawdzał wartość. Nieprawidłowe dane wejściowe powodują wyświetlenie jasnego komunikatu o błędzie.

import argparse

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

Flagi logiczne

action='store_true' tworzy flagę, której domyślną wartością jest False, a po jej podaniu wartością staje się True. Doskonale nadaje się to do przełączników takich jak --verbose.

import argparse

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

Krótkie i długie nazwy

Argumentowi można nadać zarówno krótką, jak i długą formę, na przykład -n i --name. Obie ustawiają ten sam atrybut.

import argparse

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

Dozwolone wartości

Za pomocą choices można ograniczyć zbiór dozwolonych wartości. argparse odrzuca wszystko, czego nie ma na liście.

import argparse

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

Wiele wartości za pomocą nargs

nargs='+' zbiera jedną lub więcej wartości do listy, dzięki czemu można wygodnie akceptować kilka danych wejściowych naraz.

import argparse

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

Wymagane argumenty opcjonalne i pomoc

Należy dodać required=True, aby wymusić podanie opcjonalnej flagi, oraz help=, aby opisać ją na wygenerowanym ekranie użycia.

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)

Kompletne małe narzędzie

Połączenie argumentu pozycyjnego, opcji z określonym typem i flagi tworzy mały, ale rzeczywisty interfejs wiersza poleceń.

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)

Szybki sprawdzian

Sprawdź swoje zrozumienie modułu argparse.

Podsumowanie

Poznałeś podstawy argparse:

  • ArgumentParser z argumentami pozycyjnymi i argumentami --optional.
  • Parametry type, default, choices i required sprawdzają dane wejściowe.
  • action='store_true' służy do obsługi flag, a nargs do tworzenia list.
  • Tekst pomocy jest generowany automatycznie.

Następny temat: podkomendy i bardziej rozbudowana obsługa opcji.

Często zadawane pytania

Czy lekcja „Podstawy argparse” jest bezpłatna?

Tak — pełny tekst „Podstawy argparse” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Podstawy argparse”?

Analizuj argumenty wiersza poleceń Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Podstawy argparse”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy argparse
  2. Podkomendy i opcje
  3. Biblioteka Click
  4. Bogate dane wyjściowe terminala
← Powrót do Python Academy