Python getopt vs argparse w porównaniu

Python getopt vs argparse w porównaniu

Potrzebne są więcej kodów, aby wywołać argument systemu systemu w pakiecie „GetOpt”, który jest mniej wydajny niż pakiet „ArgParse”. Wydaje się jednak korzystne, aby móc rozszyfrować, pisać i korzystać z tego produktu. Ten kod jest łatwo zrozumiany przez nowicjuszy i nie wymaga żadnych komentarzy. Moduł „getopt” to parser wyboru wiersza poleceń z interfejsem API, który ma być znany tym, którzy używali funkcji „getopt ()”. Użytkownicy mogą zastanawiać się nad wykorzystaniem modułu „ArgParse”, a nie funkcji „getOpt ()”, jeśli chcemy napisać mniej kodu z lepszą pomocą komunikatów o błędach i błędach. Narzędzie do pisania interfejsu wiersza poleceń dla języka programowania Pythona to „ArgParse”, komponent standardowej biblioteki. Tworzenie przyjaznych dla użytkownika konfiguracji linii poleceń w module „ArgParse” jest proste. Program określa poszukiwane argumenty, a następnie „ArgParse” wykorzystuje sposób wyodrębnienia tych argumentów z argumentu systemowego. Dodatkowo moduł „ArgParse” automatycznie tworzy komunikaty o pomocy użytkowania.

Składnia

Składnia Pythona „Getopt” znajduje się poniżej:


Ta składnia ma prawie trzy części: „Args” odnosi się do argumentów, które byłyby przekazywane w ciągu lub funkcji, podczas gdy druga część „opcje” odnosi się do skryptu wyszukiwania serii liter opcji. Okrężnica powinna zostać umieszczona po wszelkich wyborach, które wymagają argumentu. Ostatnia część składni „Long_options” określa listę nazwisk dla długich opcji w formacie ciągu, a równy znak powinien śledzić opcjonalne argumenty.

Składnia Pythona Argparse podano poniżej:


Składnia „ArgParse” najpierw tworzy funkcję, a po drugie tworzenie lub przypisuje argumenty systemowe do funkcji, która ma zostać utworzona.

Przykład nr 1: Wykorzystanie modułu getopt () do utworzenia funkcji do uzyskiwania argumentów za pomocą liter skróconych

Teraz omówimy, w jaki sposób możemy stworzyć naszą funkcję argumentów systemowych i wywołać je przez skrót liter, które są „g” i „h”, których użyliśmy w tym artykule.


Snippet kodowy „getOpt ()” został wyjaśniony tutaj.

Omówmy przykład kodu, którego użyliśmy, gdzie najpierw zaimportowaliśmy bibliotekę „SYS”, a drugą biblioteką, której używaliśmy, jest „Getopt”. Następnie stworzyliśmy naszą funkcję o nazwie „Your_name”, która przechowuje w niej dwie zmienne, które są „sur_name” i „Middle_name”. W momencie definicji funkcji żadna wartość nie jest przypisywana do tych dwóch zmiennych, „Sur_name” i „Middle_name”. Następnie utworzyliśmy zmienną pamięci „Argv”, która przechowywałaby „SYS.Argv [2:] ”.

Do zastosowania zjawiska korzystania z liter skrótów użyliśmy „getopt.getOpt () ”funkcja zmiennej lub pamięci„ argv ”i przypisała mu dwie skrócone litery,„ g ”i„ h ”. W warunku „oprócz” użyliśmy funkcji „print ()” do wydrukowania instrukcji „Błąd wygenerował”, jeśli użytkownik naciska dowolny klucz, z wyjątkiem „g” lub „h”.

W przypadku opcji w argumencie użyliśmy instrukcji warunkowej w tym celu, w którym warunek „jeśli” będzie powiązany z „sur_name”, jeśli naciśniemy klucz „g”, a warunek „else” zostanie powiązany z „H” klawisz, jeśli naciśniemy. Wyświetliby „Middle_name”, która jest obecna w naszym argumencie. W ostatnim użyliśmy funkcji „print ()” do wydrukowania „sur_name” wraz z „Middle_name” na wyświetlaczu wyjściowym. Aby zakończyć funkcję, zwracamy naszą funkcję w ostatnim, używając „Your_name ()”.


Nasza migawka wyjściowa pokazuje, że najpierw użyliśmy „komputerów stacjonarnych”, ponieważ nasz Python jest zapisany na komputerze stacjonarnym. Po wpisaniu „Desktop” piszemy nazwę pliku „you_name.py ”i naciśnij Enter. Kiedy naciśniemy nasz skrócony klawisz „G”, wyświetla „Sur_name”, który jest „aqsa”, a następnie naciska „h”; Wyświetli „Aqsa Yasin Python” wraz z pełną nazwą.

Przykład nr 2: Wykorzystanie modułu getopt () do utworzenia funkcji do uzyskania argumentów z pełnej formy liter



W tym przykładzie modułu „getOpt ()” zaimportowaliśmy te same biblioteki, „sys” i „getopt”, jak w poprzednim przykładzie. Funkcja jest tworzona jako „Twoja nazwa_. Ta funkcja przechowuje dwie zmienne: „First_name” i „Sur_name”, w których obie wartości są przypisywane „Brak”. Aby przekazać argument systemu, użyliśmy „Sys.Argv [1:]. W stanie „spróbuj”, użyliśmy pełnych liter dla nazwy. Zamiast „g” i „h”, uważaliśmy je za „pierwszą nazwę” i „sur_name”. Warunek w „Z wyjątkiem” będzie przechowywał instrukcję drukowania sprawy. Jeśli błąd jest generowany, będzie działał oprócz warunku, jeśli argument nie jest obecny w wierszu poleceń.

Opcja zjawiska argumentu jest podobna do poprzedniego przykładu. Ale tutaj, w warunkowym stwierdzeniu „If” i „Else”, użyjemy „First_name” i „sur_name” zamiast „g” i „h” i zmiennej, których używaliśmy do przechowywania „f” i „l”. Ostatnia funkcja „print ()” jest teraz używana do wydrukowania „First_name” wraz z „sur_name”, a następnie zwrócić funkcję za pomocą „your_name ()”.


Kiedy otworzymy wiersz poleceń, przejdziemy do „Desktop”, ponieważ plik kodu jest zapisywany na komputerze stacjonarnym, a następnie napisz nazwę pliku „Twoja nazwa_.py ”gdzie„.Py ”jest używany jako plik rozszerzenia dla Pythona. Zwróci „First_name” jako „AQSA” i „Sur_name” jako „Yasin”. Ze względu na funkcję „print ()” używaną w ostatnim wierszu, ponownie wydrukuje nazwę „Aqsa Yasin” .

Przykład nr 3: Wykorzystanie modułu ArgParse () do utworzenia programu wiersza poleceń, który akceptuje powiązane argumenty

Przekazywanie argumentu z modułu poleceń „ArgParse” jest znacznie lepsze dla użytkowników modułu „getopt”. Aby wyjaśnić moduł „ArgParse”, użyliśmy następujących kroków, które podano poniżej:


Najpierw utworzyliśmy plik w naszym systemie o nazwie „ArgParse.py ”, ponieważ plik jest powiązany z Pythonem, więc użyliśmy„.rozszerzenie py ”. Ten plik „ArgParse.py ”, przechowuje kod Pythona. Otwieramy terminal wiersza poleceń, a najpierw wstawymy to polecenie, aby dotrzeć do tego pliku „Nano ArgParse.py ”.


To jest fragment kodu w naszym pliku „ArgParse.py ”. Teraz, jeśli omówimy ten kod, możemy zobaczyć na początku, że najpierw zaimportowaliśmy bibliotekę „argparse”. Tutaj, aby przekazać dwa argumenty w kodzie, użyliśmy w sumie dwóch argumentów jako „Command_1” i „Command_2”. Wartości argumentów przypisanych „Command_1” to „Anglia,„ Australia ”i„ Walia ”. „Command_2” przypisano wartości argumentów jako „Namibia” i „Chiny”. Następnie stworzyliśmy „parser” do przekazania argumentu z opisem „listy krajów”.

Argument przekazany jest „polecenie”, w którym używaliśmy typu „ciąg”. A następnie stworzyliśmy „Args”, które wykonają parsę argumentu „Parser.parse_args () ”. Następnie stworzyliśmy „kraje”, które będą utrzymywać argumenty jako „polecenie”, a następnie drukujemy oba argumenty za pomocą funkcji „print ()”.


Aby wyświetlić pierwszy argument zapisany w „Command_1”, wpiszmy poprzednie wiersze w terminalu wiersza poleceń.


Po wydaniu polecenia wyświetli argumenty w „Command_1”, które są „Anglią”, „Australia” i „Walia”.


Aby osiągnąć argumenty w „Command_2”, wpiszmy „ArgParse.PY Command_2 ”i naciśnij ENTER w CMD.


Po naciśnięciu Enter wyświetli argumenty w „Command_2”, które są „Namibia” i „Chiny”.


Jeśli chcemy osiągnąć opis naszego pliku „ArgParse.py ”, wpiszmy ten„ argparse.py -h ”w wierszu poleceń.


Następnie wyświetli cały opis naszego pliku Pythona, w którym oznacza „listę krajów” jako opis, a argumenty pozycyjne to „polecenie”.

Wniosek

W tym artykule omówiliśmy porównanie dwóch modułów Pythona, które są „getopt” i „argparse”. Jak widzieliśmy w dyskusji za pośrednictwem naszych przykładów, ustaliliśmy, że Python „ArgParse” jest bardziej skutecznym i potężnym modułem niż „getopt”. Pierwsze dwa przykłady obejmują moduł „getopt” Pythona, a pozostałe dwa przykłady obejmują „argParse” dla argumentów systemowych.