Jak parsować argumenty w wierszu poleceń w Pythonie?

How Parse Arguments Command Line Python



Argumenty wiersza poleceń służą do przekazywania danych w programie w czasie wykonywania programu. Ta funkcja jest dostępna w większości popularnych języków programowania. Ale przetwarzanie argumentów wiersza poleceń jest różne dla różnych języków. Wartości argumentów są podawane wraz z nazwą programu w momencie uruchomienia programu. Język Python obsługuje tę funkcję. W tym artykule pokazano, jak argumenty wiersza polecenia są analizowane w skrypcie Pythona.

Parsowanie argumentu wiersza poleceń za pomocą system moduł

Argumenty wiersza poleceń są przechowywane na liście za pomocą system moduł. sys.argv służy do odczytywania wartości argumentów wiersza poleceń. Całkowitą liczbę argumentów wiersza poleceń można policzyć za pomocą len () funkcjonować. Zastosowanie tego modułu zostało opisane w części artykułu.







Przykład 1: Odczytanie liczby argumentów i wartości argumentów

Utwórz plik z następującym skryptem Pythona. Tutaj wartości argumentów wiersza poleceń są przechowywane w zmiennej, argv jak inne języki. len () Metoda zlicza całkowitą liczbę argumentów przekazanych w czasie wykonywania skryptu. Wartości argumentów są drukowane jako tablica na końcu skryptu.



# Importuj moduł sys
import system

# Wydrukuj całkowitą liczbę argumentów
wydrukować(„Wszystkie argumenty:”, len(system.argv))
wydrukować('Wartości argumentów to:', P(system.argv))

Wyjście:



Powyższy skrypt jest wykonywany tutaj przy użyciu czterech argumentów wiersza poleceń. Pierwszym argumentem jest nazwa skryptu, a pozostałe to wartości liczbowe. Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu.





Przykład 2: Odczytywanie wartości argumentów za pomocą pętli



W poprzednim przykładzie wartości argumentów są drukowane jako tablica. Utwórz plik z następującym skryptem, aby wydrukować typ zmiennej argumentu i wydrukować każdą wartość argumentu w każdym wierszu za pomocą pętli for.

# Importuj moduł sys
import system

# Wydrukuj typ zmiennej, sys.argv
wydrukować(rodzaj(system.argv))

# Wydrukuj każdy argument wiersza poleceń w każdym wierszu
wydrukować('Argumenty wiersza poleceń to:')
dlaiw system.argv:
wydrukować(i)

Wyjście:

Powyższy skrypt jest wykonywany przez podanie trzech argumentów z nazwą skryptu. Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu.

Parsowanie argumentu wiersza poleceń za pomocą modułu getopt

Zwieńczone służy do parsowania argumentów wiersza poleceń z opcjami. zwieńczony () Metoda tego modułu służy do odczytywania argumentów. Ta metoda ma trzy argumenty. Pierwsze dwa argumenty są obowiązkowe, a ostatni argument opcjonalny. Zastosowania tych argumentów podano poniżej.

argumenty: Zawiera argument pobrany z argumentu wiersza poleceń.

short_option: Może to być dowolna litera, która przechodzi wraz z argumentem.

opcja_długa: Służy do definiowania długich opcji z dwiema częściami. Są to nazwa i wartość opcji.

Składnia: getopt.getopt(args, short_option, [long_option])

Przykład 3: Odczytywanie wartości argumentów za pomocą krótkich opcji getopt

zwieńczony moduł zawiera więcej funkcji niż system moduł. Poniższy przykład pokazuje, jak krótkie opcje mogą być używane w zwieńczony () metoda. argv zmienna będzie przechowywać argumenty wiersza poleceń, pomijając nazwę skryptu. Następnie dwie opcje są zdefiniowane w zwieńczony () metoda, która może być używana z argumentem w czasie wykonywania. Jeśli wystąpi jakikolwiek błąd, zostanie wyświetlony komunikat o błędzie.

# Importuj moduł getopt
import zwieńczony

# Importuj moduł sys
import system

# Przechowuj zmienną argumentu z pominięciem nazwy skryptu
argv= system.argv[1:]

próbować:
# Zdefiniuj krótkie opcje getopt
opcje,argumenty= zwieńczony.zwieńczony(argv, 'x:y:')

# wypisz opcje i argument
wydrukować(opcje)
wydrukować(argumenty)

z wyjątkiem zwieńczony.GetoptError:

# Wydrukuj komunikat o błędzie, jeśli podano niewłaściwą opcję
wydrukować(„Podano niewłaściwą opcję”)

# Zakończ skrypt
system.Wyjście(2)

Wyjście:

Uruchom skrypt bez żadnego argumentu, argumentów z poprawnymi opcjami i argumentów z niewłaściwą opcją.

Przykład 4: Odczytywanie wartości argumentów przy użyciu krótkich i długich opcji getopt

Ten przykład pokazuje, jak można używać zarówno krótkich, jak i długich opcji z wartościami argumentów. Doda dwie liczby, gdy '-do' lub '-Dodaj' zostanie użyty jako opcja i odejmie dwie liczby, gdy ‘ -s' lub ' -pod' będzie używany jako opcja w czasie wykonywania.

# Importuj moduł getopt
import zwieńczony

# Importuj moduł sys
import system

# Przechowuj zmienną argumentu z pominięciem nazwy skryptu
argv= system.argv[1:]

# Zainicjuj zmienną wynikową
wynik=0

próbować:

# Zdefiniuj krótkie i długie opcje getopt
opcje,argumenty= zwieńczony.zwieńczony(system.argv[1:], 'jak', ['dodaj=','sub='])

# Przeczytaj każdą opcję za pomocą pętli for
dlaoptować,zływopcje:
# Oblicz sumę, jeśli opcją jest -a lub --add
Jeślioptowaćw ('-do', '--Dodaj'):
wynik= int(argv[1])+int(argv[2])

# Oblicz siłę słoneczną, jeśli opcją jest -s lub --sub
Elifaoptowaćw ('-s', '--pod'):
wynik= int(argv[1])-int(argv[2])

wydrukować('Wynik = ',wynik)

z wyjątkiem zwieńczony.GetoptError:

# Wydrukuj komunikat o błędzie, jeśli podano niewłaściwą opcję
wydrukować(„Podano niewłaściwą opcję”)

# Zakończ skrypt
system.Wyjście(2)

Wyjście:

Uruchom skrypt bez żadnych argumentów i opcji, argumentów z opcją „-a”, argumentów z opcją „-s” i argumentów z niewłaściwą opcją.

Parsowanie argumentu wiersza poleceń za pomocą modułu argparse

Moduł Argparse zawiera wiele opcji do odczytywania argumentów wiersza poleceń. Ten moduł może dostarczyć domyślne wartości argumentów, argument z typem danych, argumenty pozycyjne, komunikat pomocy itp.

Przykład 5: Odczytywanie argumentów wiersza poleceń za pomocą argparse

Poniższy przykład pokazuje użycie argparsować moduł do odczytywania argumentu wiersza poleceń. Tutaj zdefiniowane są dwie opcje odczytywania argumentów wiersza poleceń. To są „-n” lub „–nazwa” oraz „-e” lub „–e-mail”. Jeśli użytkownik poda niewłaściwy argument, wyświetli błąd z komunikatem o użyciu. Jeśli użytkownik poda poprawne opcje z argumentami, wyświetli wartości argumentów. jeśli użytkownik uruchomi skrypt z opcją „–pomoc”, zostanie wyświetlony komunikat niezbędny do uruchomienia skryptu.

# Importuj moduł argparse
importargparsować

# Importuj moduł sys
import system

# Zadeklaruj funkcję do definiowania argumentów wiersza poleceń
definitywnieprzeczytajOpcje(argumenty=system.argv[1:]):
parser =argparsować.ArgumentParser(opis='Lista poleceń parsowania.')
parser.dodaj_argument('-n', '--Nazwa', Wsparcie='Wpisz swoje imię.')
parser.dodaj_argument('-I', '--e-mail', Wsparcie=„Wpisz swój adres e-mail”.)
optuje= parser.parse_args(argumenty)
powrótoptuje

# Wywołaj funkcję, aby odczytać wartości argumentów
opcje=przeczytajOpcje(system.argv[1:])
wydrukować(opcje.Nazwa)
wydrukować(opcje.e-mail)

Wyjście:

Uruchom skrypt z niewłaściwą opcją, poprawną opcją i opcją pomocy.

Wniosek:

Różne sposoby odczytywania argumentów wiersza poleceń są wyjaśnione w tym samouczku przy użyciu trzech modułów Pythona. Mam nadzieję, że ten samouczek pomoże koderowi, który chce czytać dane za pomocą argumentów wiersza poleceń w pythonie.

Obejrzyj film autora: tutaj