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ł syssystem 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ł syssystem 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ł getoptimportuj 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ł getoptimportuj 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ł argparseimportuj 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