Pyton

Jak parsować argumenty w wierszu poleceń w Pythonie?

Jak parsować argumenty w wierszu poleceń w Pythonie?
Argumenty wiersza poleceń służą do przekazywania danych w programie w czasie wykonywania programu program. 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ą podane wraz z nazwą programu w momencie uruchomienia programu. Język Python obsługuje tę funkcję. W tym artykule pokazano, jak argumenty wiersza poleceń 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ł.  system.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
system importu
# Wydrukuj całkowitą liczbę argumentów
print('Wszystkie argumenty:', len(sys.argv))
print('Wartości argumentów to:', str(sys.argv))

Wynik:

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. Następujące 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
system importu
# Wydrukuj typ zmiennej, sys.argv
drukuj(typ(sys.argv))
# Wydrukuj każdy argument wiersza poleceń w każdym wierszu
print('Argumenty wiersza poleceń to:')
dla mnie w sys.argument:
drukuj(i)

Wynik:

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

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

Getopt moduł służy do parsowania argumentów wiersza poleceń z opcjami. getopt() 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 opcji 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

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

# Importuj moduł getopt
importuj getopt
# Importuj moduł sys
system importu
# Przechowuj zmienną argumentu z pominięciem nazwy skryptu
argv = sys.argv[1:]
 
próbować:
# Zdefiniuj krótkie opcje getopt
opcje, argumenty = getopt.getopt(argv, 'x:y:')
# wypisz opcje i argument
drukuj(opcje)
drukuj(argumenty)
 
z wyjątkiem getopt.GetoptBłąd:
# Wydrukuj komunikat o błędzie, jeśli podano niewłaściwą opcję
print('Podano niewłaściwą opcję')
# Zakończ skrypt
system.wyjście(2)

Wynik:

Uruchom skrypt bez żadnego argumentu, argumenty z poprawnymi opcjami i argumenty 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 '-za' 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
importuj getopt
# Importuj moduł sys
system importu
# Przechowuj zmienną argumentu z pominięciem nazwy skryptu
argv = sys.argv[1:]
# Zainicjuj zmienną wynikową
wynik=0
 
próbować:
 
# Zdefiniuj krótkie i długie opcje getopt
opcje, argumenty = getopt.getopt(sys.argv[1:], 'a:s', ['dodaj=','sub='])
 
# Przeczytaj każdą opcję za pomocą pętli for
dla opt, arg w opcjach:
# Oblicz sumę, jeśli opcją jest -a lub --add
jeśli zdecydują się ('-a', '--add'):
wynik = int(argv[1]) + int(argv[2])
# Oblicz siłę słoneczną, jeśli opcją jest -s lub --sub
elif opt in ('-s', '--sub'):
wynik = int(argv[1]) - int(argv[2])
 
print('Wynik = ', wynik)
z wyjątkiem getopt.GetoptBłąd:
# Wydrukuj komunikat o błędzie, jeśli podano niewłaściwą opcję
print('Podano niewłaściwą opcję')
# Zakończ skrypt
system.wyjście(2)

Wynik:

Uruchom skrypt bez żadnych argumentów i opcji, argumenty z opcją „-a”, argumenty z opcją „-s” i argumenty 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ń. Domyślne wartości argumentów, argument z typem danych, argumenty pozycyjne, komunikat pomocy itp. może być dostarczony przez ten moduł.

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

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

# Importuj moduł argparse
importuj argparse
# Importuj moduł sys
system importu
# Zadeklaruj funkcję do definiowania argumentów wiersza poleceń
def readOptions(args=sys.argv[1:]):
parser = argparse.ArgumentParser(description="Lista poleceń parsowania.")
parser.add_argument("-n", "--name", help="Wpisz swoje imię.")
parser.add_argument("-e", "--email", help="Wpisz swój adres e-mail.")
opts = parser.parse_args(args)
opcje zwrotu
# Wywołaj funkcję, aby odczytać wartości argumentów
options = przeczytajOpcje(sys.argv[1:])
drukuj (opcje.Nazwa)
drukuj (opcje.e-mail)

Wynik:

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 za pomocą trzech modułów Pythona. Mam nadzieję, że ten samouczek pomoże programiście, który chce czytać dane za pomocą argumentów wiersza poleceń w pythonie.

Obejrzyj wideo autora: tutaj

5 najlepszych ergonomicznych myszy komputerowych dla systemu Linux
Czy długotrwałe korzystanie z komputera powoduje ból nadgarstka lub palców?? Cierpisz na sztywne stawy i ciągle musisz uścisnąć dłonie? Czy czujesz pa...
Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?
Większość dystrybucji Linuksa jest domyślnie dostarczana z biblioteką „libinput” do obsługi zdarzeń wejściowych w systemie. Może przetwarzać zdarzenia...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...