Jak tworzyć własne programy wiersza poleceń w Pythonie za pomocą Click

  • Michael Fisher
  • 0
  • 2233
  • 5
Reklama

Click to pakiet Pythona do pisania interfejsów wiersza poleceń. Tworzy dla ciebie piękną dokumentację i pozwala budować interfejsy wiersza poleceń w zaledwie jednym wierszu kodu. W skrócie: jest niesamowity i może pomóc przenieść twoje programy na wyższy poziom.

Oto, jak możesz go użyć, aby ożywić swoje projekty w języku Python.

Pisanie programów wiersza poleceń bez kliknięcia

Możliwe jest pisanie programów wiersza poleceń bez użycia Click, ale wymaga to więcej wysiłku i dużo więcej kodu. Musisz przeanalizować argumenty wiersza poleceń, przeprowadzić sprawdzenie poprawności, rozwinąć logikę do obsługi różnych argumentów i zbudować niestandardowe menu pomocy. Chcesz dodać nową opcję? Będziesz wtedy modyfikować swoją funkcję pomocy.

Nie ma nic złego w pisaniu własnego kodu, a zrobienie tego to świetny sposób na naukę Pythona, ale Click pozwala postępować zgodnie z nim “Nie powtarzaj się” Zasady (SUCHE). Bez Click będziesz pisać kod, który jest delikatny i wymaga wielu czynności konserwacyjnych, gdy tylko pojawią się jakiekolwiek zmiany.

Oto prosty interfejs wiersza poleceń zakodowany bez kliknięcia:

import sys import random def do_work (): "" "Funkcja do obsługi użycia wiersza poleceń" "" args = sys.argv args = args [1:] # Pierwszym elementem args jest nazwa pliku, jeśli len (args) == 0 : print („Nie przekazałeś żadnych poleceń w!”) else: for a in args: if a == '--help': print ('Podstawowy program wiersza poleceń') print ('Opcje:') print (' --help -> pokaż to podstawowe menu pomocy. ') print (' --monty -> pokaż cytat Monty Python. ') print (' --veg -> pokaż losowe warzywo ') elif a ==' - monty ': print (' Co to jest?? Romanes eunt domus?? Ludzie nazywają się Romanes, idą, dom? ') elif a ==' --veg ': print (random.choice ([' Marchew ”,„ Ziemniak ”,„ Rzepa ”])) else: print („ Nierozpoznany argument. ”) If __name__ == '__main__': do_work ()

Te 27 linii Pythona działa dobrze, ale są bardzo delikatne. Wszelkie zmiany wprowadzone w programie będą wymagały wielu innych kodów pomocniczych do zmiany. Jeśli zmienisz nazwę argumentu, musisz zaktualizować informacje pomocy. Ten kod może łatwo wymknąć się spod kontroli.

Oto ta sama logika z Click:

import kliknij import losowo @ click.command () @ click.option ('- monty', default = False, help = "Pokaż cytat Monty Python.") @ click.option ('- veg', default = False , help = "Pokaż losowe warzywo.") def do_work (monty, veg): "" "Przykład podstawowego kliknięcia podąży za twoimi poleceniami" "" jeśli monty: print ('Co to jest, to? "Romanes eunt domus „? Ludzie o imieniu Romanes, idą do domu?”) If veg: print (random.choice ([„Marchewka”, „Ziemniak”, „Rzepa”])) if __name__ == '__main__': do_work ()

Ten przykład Click implementuje tę samą logikę w 16 liniach kodu. Argumenty są parsowane i generowany jest ekran pomocy:

To podstawowe porównanie pokazuje, ile czasu i wysiłku możesz zaoszczędzić, korzystając z programów takich jak Click. Chociaż interfejs wiersza poleceń może wyglądać tak samo dla użytkownika końcowego, kod źródłowy jest prostszy, a Ty zaoszczędzisz dużo czasu na kodowanie. Wszelkie zmiany lub aktualizacje, które napiszesz w przyszłości, również spowodują znaczny wzrost czasu opracowywania.

Rozpoczęcie pracy z Click for Python

Przed użyciem Kliknij, możesz skonfigurować środowisko wirtualne Dowiedz się, jak korzystać ze środowiska wirtualnego Python Dowiedz się, jak korzystać ze środowiska wirtualnego Python Niezależnie od tego, czy jesteś doświadczonym programistą Python, czy dopiero zaczynasz, uczysz się konfigurować środowisko wirtualne jest niezbędny w każdym projekcie Python. . Zapobiegnie to konfliktom pakietów Python z systemem Python lub innymi projektami, nad którymi możesz pracować. Możesz także wypróbować Python w przeglądarce Wypróbuj Python w przeglądarce za pomocą tych bezpłatnych interaktywnych powłok online Wypróbuj Python w przeglądarce za pomocą tych bezpłatnych interaktywnych powłok online Niezależnie od tego, czy przeglądasz te przykłady w Pythonie, czy przeglądasz podstawy tablic i list, możesz: przetestuj kod bezpośrednio w przeglądarce. Oto najlepsze znalezione przez nas internetowe interpretatory języka Python. jeśli chcesz pobawić się Pythonem i Click.

Na koniec upewnij się, że używasz Python w wersji 3. Można używać Click z Python w wersji 2, ale te przykłady znajdują się w Python 3. Dowiedz się więcej o różnicach między Python 2 i Python 3.

Po zakończeniu instalacji kliknij w wierszu polecenia za pomocą PIP (jak zainstalować PIP dla Pythona):

kliknij pip instalacji

Pisanie programu pierwszego kliknięcia

W edytorze tekstu zacznij od importowania Kliknij:

kliknij import

Po zaimportowaniu utwórz plik metoda i a Główny Punkt wejścia. Nasz przewodnik po Python OOP omawia je bardziej szczegółowo, ale zapewniają one miejsce do przechowywania kodu i sposób, w jaki Python może go uruchomić:

import kliknij import random def veg (): „” „Podstawowa metoda zwróci losowe warzywo” „” print (random.choice (['Marchewka', 'Ziemniak', 'Rzepa', 'Pasternak'])), jeśli __name__ = = '__main__': veg ()

Ten bardzo prosty skrypt wygeneruje losowe warzywo. Twój kod może wyglądać inaczej, ale ten prosty przykład jest idealny do połączenia z Click.

Zapisz to jako click_example.py, a następnie uruchom go w wierszu polecenia (po przejściu do jego lokalizacji):

python click_example.py

Powinieneś zobaczyć losową nazwę warzywa. Poprawmy rzeczy, dodając Click. Zmień kod, aby uwzględnić dekoratory Click i a dla pętla:

@ click.command () @ click.option ('- total', default = 3, help = "Liczba warzyw do wyprowadzenia.") def veg (ogółem): "" "Podstawowa metoda zwróci losowe warzywo" " ”dla liczby w zakresie (ogółem): drukuj (losowo. wybór ([„ Marchewka ”,„ Ziemniak ”,„ Rzepa ”,„ Pasternak ”])) jeśli __name__ == '__main__': veg ()

Po uruchomieniu zobaczysz trzykrotnie losowe warzywo.

Podzielmy te zmiany. The @ click.command () konfigurator dekoratora Kliknij, aby pracować z funkcją znajdującą się bezpośrednio za dekoratorem. W tym przypadku jest to veg () funkcjonować. Będziesz tego potrzebować do każdej metody, której chcesz używać z Click.

The @ click.option dekorator konfiguruje kliknij, aby zaakceptować parametry z wiersza poleceń, które przekaże do twojej metody. Użyto tutaj trzech argumentów:

  1. -całkowity: To jest nazwa wiersza poleceń dla całkowity argument.
  2. domyślna: Jeśli nie określisz całkowitego argumentu podczas korzystania ze skryptu, Click użyje wartości domyślnej.
  3. Wsparcie: Krótkie zdanie wyjaśniające, jak korzystać z programu.

Zobaczmy Kliknij w akcji. Z wiersza poleceń uruchom skrypt, ale podaj całkowity taki argument:

python click_example.py - ogółem 10

Przez ustawienie -razem 10 z wiersza poleceń skrypt wyświetli dziesięć losowych warzyw.

Jeśli zdasz -Wsparcie flaga, zobaczysz ładną stronę pomocy wraz z opcjami, których możesz użyć:

python click_example.py --help

Dodawanie kolejnych poleceń

Możliwe jest użycie wielu dekoratorów Click w tej samej funkcji. Dodaj kolejną opcję kliknięcia do warzywa funkcjonować:

@ click.option ('- gravy', default = False, help = "Append" with gravy "do warzyw.)

Nie zapomnij przekazać tego do metody:

def veg (ogółem, sos):

Teraz po uruchomieniu pliku możesz przekazać sos flaga:

python click_example.py - gravy y

Zmienił się także ekran pomocy:

Oto cały kod (z niewielkimi zmianami w celu uporządkowania):

import click import random @ click.command () @ click.option ('- gravy', default = False, help = "Append" with gravy "to vegetables.") @ click.option ('- total', default = 3, help = "Liczba warzyw do wyprowadzenia.") def veg (ogółem, sos): "" "Podstawowa metoda zwróci losowe warzywo" "" dla liczby w zakresie (ogółem): choice = random.choice ( [„Marchewka”, „Ziemniak”, „Rzepa”, „Pasternak”]) jeśli sos: drukuj (f 'wybór z sosiem') else: drukuj (wybór) jeśli __name__ == '__main__': veg ()

Jeszcze więcej Kliknij Opcje

Po zapoznaniu się z podstawami możesz zacząć patrzeć na bardziej złożone opcje Click. W tym przykładzie nauczysz się przekazywać kilka wartości do jednego argumentu, który Click przekształci w krotkę. Możesz dowiedzieć się więcej o krotkach w naszym przewodniku po słowniku Python.

Utwórz nowy plik o nazwie click_example_2.py. Oto potrzebny kod startowy:

import kliknij import losowo @ click.command () def add (): "" "Metoda podstawowa doda dwie liczby razem." "" pass, jeśli __name__ == '__main__': add ()

Nie ma tu nic nowego. Poprzednia sekcja szczegółowo wyjaśnia ten kod. Dodać @ click.option nazywa liczby:

@ click.option ('- numbers', nargs = 2, type = int, help = "Dodaj dwie liczby razem.")

Jedyny nowy kod tutaj to nargs = 2, i type = int opcje Mówi to Kliknij, aby zaakceptować dwie wartości dla liczby opcja i oba muszą być liczbami całkowitymi typu. Możesz to zmienić na dowolny numer lub (prawidłowy) typ danych, który Ci się podoba.

Na koniec zmień Dodaj metoda zaakceptowania liczby argument i wykonaj z nimi pewne przetwarzanie:

def add (numbers): "" "Metoda podstawowa doda dwie liczby razem." "" wynik = liczby [0] + liczby [1] wydrukuj (f 'liczby [0] + liczby [1] =  wynik')

Każda przekazywana wartość jest dostępna poprzez liczby obiekt. Oto jak używać go w wierszu poleceń:

python click_example_2.py - liczba 1 2

Kliknij Jest rozwiązaniem dla narzędzi Python

Jak widać, Click jest łatwy w użyciu, ale bardzo wydajny. Chociaż te przykłady obejmują tylko podstawy Click, istnieje o wiele więcej funkcji, o których możesz dowiedzieć się teraz, ponieważ masz solidną wiedzę na temat podstaw.

Jeśli szukasz niektórych projektów Pythona do ćwiczenia nowych umiejętności, dlaczego nie nauczyć się kontrolować Arduino za pomocą Pythona Jak programować i kontrolować Arduino za pomocą Pythona Jak programować i kontrolować Arduino za pomocą Pythona Niestety, jest to niemożliwe aby bezpośrednio zaprogramować Arduino w Pythonie, ale możesz kontrolować go przez USB za pomocą programu Python. Oto jak. , a co z czytaniem i pisaniem do Arkuszy Google w Pythonie Jak czytać i zapisywać w Arkuszach Google w Pythonie Jak czytać i zapisywać w Arkuszach Google w Pythonie Python może wydawać się dziwny i niezwykły, jednak jest łatwy do nauczenia się i używania. W tym artykule pokażę, jak czytać i pisać w Arkuszach Google przy użyciu Pythona. ? Każdy z tych projektów byłby idealny do konwersji na Click!




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.