Reklama

Click je balík Python na písanie rozhraní príkazového riadka. Vytvára pre vás krásnu dokumentáciu a umožňuje vám vytvárať rozhrania príkazového riadku iba v jednom riadku kódu. Stručne povedané: je to úžasné a môže pomôcť posunúť vaše programy na vyššiu úroveň.

Tu je návod, ako ho môžete použiť na oživenie vašich projektov Pythonu.

Písanie programov príkazového riadku bez kliknutia

Programy príkazového riadku je možné písať bez použitia príkazu Click, ale vyžaduje si to viac úsilia a oveľa viac kódu. Musíte analyzovať argumenty príkazového riadku, vykonať overenie, vyvinúť logiku na spracovanie rôznych argumentov a vytvoriť vlastnú ponuku pomocníka. Chcete pridať novú možnosť? Potom zmeníte svoju pomocnú funkciu.

S písaním vlastného kódu nie je nič zlé, a tak je to vynikajúci spôsob, ako sa naučiť Python, ale kliknutie vám umožňuje riadiť sa princípmi „Nenechajte si opakovať“ (DRY). Bez kliknutia napíšete kód, ktorý je krehký a vyžaduje si veľa údržby, kedykoľvek dôjde k akýmkoľvek zmenám.

instagram viewer

Toto je jednoduché rozhranie príkazového riadka kódované bez kliknutia:

import sys. import random def do_work (): Funkcia na spracovanie príkazového riadku args = sys.argv args = args [1:] # Prvým prvkom args je názov súboru, ak len (args) == 0: print ('Neprešli ste žiadne príkazy v!') inde: pre args: ak a == '--help': print ('Základný program príkazového riadku') print ('Options:') print ('- -help -> show toto základné menu pomocníka. “) print ('--monty -> ukážte ponuku Monty Python.') print ('--veg -> show náhodná zelenina') elif a == '--monty': print (' Čo je toto, potom? "Romanes eunt domus"? Ľudia volali Rómovia, idú, dom? ') Elif a ==' --eg ': print (random.choice ([' Carrot ',' Potato ',' Turnip ']))) else: print (' Unrecognized argument '. ') ak __name__ ==' __main__ ': do_work ()
Príklad rozhrania príkazového riadku Python

Týchto 27 riadkov Pythonu funguje dobre, ale sú veľmi krehké. Akákoľvek zmena, ktorú vykonáte vo svojom programe, bude potrebné zmeniť množstvo ďalších podporných kódov. Ak zmeníte názov argumentu, budete musieť aktualizovať informácie pomocníka. Tento kód sa môže ľahko vymknúť spod kontroly.

Rovnaká logika ako pri kliknutí:

kliknite na import. importovať náhodne @ click.command () @ click.option ('- monty', default = False, help = 'Zobraziť ponuku Monty Python.') @ click.option ('- veg', default = False, help = 'Zobraziť náhodnú zeleninu.') def do_work (monty, veg): Príklad základného kliknutia bude nasledovať vaše príkazy, ak je monty: print (Čo je to teda? "Romanes eunt domus"? Ľudia volali Rómovia, idú, dom? ') Ak veg: print (random.choice ([' Mrkva ',' Zemiaky ',' Tuřín ']))), ak __name__ ==' __main__ ': do_work ()

Tento príklad kliknutia implementuje rovnakú logiku v 16 riadkoch kódu. Argumenty sa analyzujú za vás a vygeneruje sa obrazovka pomoci:

Python Click automaticky generovaná obrazovka pomocníka

Toto základné porovnanie ukazuje, koľko času a úsilia môžete ušetriť pomocou programov ako Click. Aj keď sa rozhranie príkazového riadka môže konečnému používateľovi zdať rovnaké, základný kód je jednoduchší a ušetríte veľa času kódovania. Všetky zmeny alebo aktualizácie, ktoré napíšete v budúcnosti, tiež zaznamenajú významné zvýšenie času vývoja.

Začíname s programom Click pre Python

Pred použitím Click, možno budete chcieť konfigurovať virtuálne prostredie Naučte sa, ako používať virtuálne prostredie PythonČi už ste skúseným vývojárom Pythonu, alebo len začínate, učenie, ako nastaviť virtuálne prostredie, je nevyhnutné pre akýkoľvek projekt Python. Čítaj viac . Toto zastaví konflikty vašich balíkov Python so systémom Python alebo inými projektmi, na ktorých môžete pracovať. Môžete tiež vyskúšajte Python v prehliadači Vyskúšajte Python vo vašom prehliadači pomocou týchto bezplatných interaktívnych schránok onlineČi už prechádzate týmito príkladmi jazyka Python alebo si prezeráte základy polí a zoznamov, môžete si tento kód vyskúšať priamo v prehliadači. Toto sú najlepšie online tlmočníky Pythonu, ktoré sme našli. Čítaj viac ak sa chcete hrať s Pythonom a Clickom.

Nakoniec sa uistite, že používate Python verziu 3. Je možné použiť Click s Pythonom verzie 2, ale tieto príklady sú v Pythone 3. Viac informácií o rozdiely medzi Pythonom 2 a Pythonom 3.

Po dokončení inštalácie kliknite na príkazový riadok pomocou PIP (ako nainštalovať PIP pre Python):

kliknite na tlačidlo

Napísanie programu prvého kliknutia

V textovom editore začnite importom Kliknite:

kliknite na import

Po importovaní vytvorte a metóda a a hlavné vstupný bod. náš Sprievodca Python OOP podrobnejšie ich pokrýva, ale poskytujú miesto na uloženie kódu a spôsob, ktorým ho Python môže spustiť:

kliknite na import. import random def veg (): Základná metóda vráti náhodnú zeleninovú tlač (random.choice (['Mrkva', 'Zemiaky', 'Tuřín', 'Parsnip']))), ak __name__ == '__main__': veg ()

Tento veľmi jednoduchý skript vydá náhodnú zeleninu. Váš kód môže vyzerať inak, ale tento jednoduchý príklad je perfektný na kombináciu s programom Click.

Uložiť ako click_example.pya potom spustite príkazový riadok (po navigácii na jeho miesto):

python click_example.py

Mali by ste vidieť náhodný názov zeleniny. Poďme vylepšiť veci pridaním kliknutia. Zmeňte svoj kód tak, aby obsahoval dekorátory Click a a pre slučka:

@ Click.command () @ click.option ('- celkom', predvolená hodnota = 3, help = 'počet zeleniny na výstup.') def veg (total): Základná metóda vráti náhodnú zeleninu pre číslo v rozsahu (celkom): print (random.choice (['Carrot', 'Potato', 'Turnip', 'Parsnip'])), ak __name__ == '__main__': veg ()

Po spustení sa trikrát zobrazí náhodná zelenina.

Poďme rozobrať tieto zmeny. @ Click.command () decorator configures Kliknite, ak chcete pracovať s funkciou bezprostredne po dekoratérovi. V tomto prípade je to zelenina () Funkcie. Toto budete potrebovať pre každú metódu, ktorú chcete používať s tlačidlom Click.

@ click.option dekoratér konfiguruje kliknutím akceptuje parametre z príkazového riadku, ktoré odovzdá vašej metóde. Tu sa používajú tri argumenty:

  1. -Celkom: Toto je názov príkazového riadku pre Celkom argumentom.
  2. default: Ak pri použití skriptu neurčíte celkový argument, klikne hodnota z predvoleného nastavenia.
  3. Pomoc: Krátka veta vysvetľujúca, ako používať váš program.

Uvidíme Kliknutie v akcii. Z príkazového riadku spustite skript, ale odovzdajte ho Celkom argument ako je tento:

python click_example.py - súčet 10

Podľa nastavenia - celkom 10 z príkazového riadku váš skript vytlačí desať náhodných zeleniny.

Ak prejdete okolo -Pomoc flag, zobrazí sa pekná stránka pomocníka spolu s možnosťami, ktoré môžete použiť:

python click_example.py --help
Python Kliknite na pomoc

Pridávanie ďalších príkazov

Na rovnakú funkciu je možné použiť veľa dekorátorov Click. Pridajte ďalšiu možnosť kliknutia do zelenina funkcie:

@ click.option ('- gravy', default = False, help = 'Append with gravy' to vegetables. ')

Nezabudnite to preniesť do metódy:

def veg (celkom, omáčka):

Teraz, keď spustíte súbor, môžete odovzdať súbor omáčka flag:

python click_example.py --gravy y

Obrazovka pomocníka sa tiež zmenila:

Kliknite na obrazovku pomocníka Python

Tu je celý kód (s drobnými úpravami pre úhľadnosť):

kliknite na import. importovať náhodne @ click.command () @ click.option ('- gravy', default = False, help = 'Append with gravy' to vegetables. ') @ click.option ('- celkom', predvolená hodnota = 3, help = 'počet zeleniny na výstup.') def veg (total, gravy): Základná metóda vráti náhodnú zeleninu pre číslo v rozsahu (celkom): výber = random.choice (['Mrkva', 'Zemiaky', 'Tuřín', 'Pastinák']), ak sú omáčky: tlač (f '{výber} s omáčkou') inde: tlač (výber), ak __name__ == '__main__': veg ()

Ešte viac Kliknite na Možnosti

Keď poznáte základné základy, môžete začať skúmať zložitejšie možnosti kliknutia. V tomto príklade sa naučíte, ako odovzdať niekoľko hodnôt jednému argumentu, ktorý kliknutie prevedie na n-ticu. Viac sa môžete dozvedieť viac o našich n-tách sprievodca slovníkom Python.

Vytvorte nový súbor s názvom click_example_2.py. Potrebujete štartovací kód:

kliknite na import. importovať náhodne @ click.command () def add (): Základná metóda pridá dve čísla. prejsť, ak __name__ == '__main__': add ()

Nie je tu nič nové. Predchádzajúca časť podrobne vysvetľuje tento kód. Pridaj @ click.option volal čísla:

@ click.option ('- čísla', nargs = 2, typ = int, help = 'Sčítajte dve čísla spolu.')

Jediným novým kódom sú tu nargs = 2a type = int možnosti. Kliknutím na toto sa zobrazia dve hodnoty pre čísla možnosť a obe musia byť typu celých čísel. Môžete to zmeniť na ľubovoľné číslo alebo (platný) dátový typ, ktorý sa vám páči.

Nakoniec zmeňte pridať metóda akceptovania čísla a urobte s nimi nejaké spracovanie:

def add (čísla): Základná metóda pridá dve čísla dohromady. result = čísla [0] + čísla [1] tlač (f '{čísla [0]} + {čísla [1]} = {result}')

Každá hodnota, ktorú odovzdáte, je prístupná cez čísla objekt. Postup použitia v príkazovom riadku:

python click_example_2.py - čísla 1 2
Výsledok kliknutia na Python Click

Kliknite na položku Je riešením pre nástroje Python

Ako ste videli, Click sa ľahko používa, ale veľmi výkonný. Aj keď tieto príklady pokrývajú iba základné základy kliknutia, existuje veľa ďalších funkcií, o ktorých sa môžete dozvedieť teraz, keď máte dôkladný prehľad o základoch.

Ak hľadáte nejaké projekty Pythonu na precvičenie svojich novo nájdených schopností, prečo sa neučiť ako ovládať Arduino pomocou Pythonu Ako programovať a ovládať Arduino pomocou PythonuJe smutné, že nie je možné priamo programovať Arduino v Pythone, ale môžete ho ovládať cez USB pomocou programu Python. Tu je návod. Čítaj viac , alebo čo tak čítanie a zápis do Tabuliek Google pomocou Pythonu Ako čítať a zapisovať do hárkov Google s programom PythonPython sa môže zdať čudný a nezvyčajný, dá sa však ľahko naučiť a používať. V tomto článku vám ukážem, ako čítať a písať do Tabuliek Google pomocou jazyka Python. Čítaj viac ? Jeden z týchto projektov by bol ideálny na konverziu na Click!

Joe je absolventom informatiky na University of Lincoln vo Veľkej Británii. Je to profesionálny vývojár softvéru a keď nelieta bezpilotných lietadiel alebo píše hudbu, často ho nájdu pri fotografovaní alebo výrobe videa.