Oglas

Click je paket Python za pisanje vmesnikov ukazne vrstice. Za vas pripravi čudovito dokumentacijo in vam omogoči izdelavo vmesnikov ukazne vrstice v samo eni vrstici kode. Skratka: super je in lahko pomaga, da vaše programe popeljete na naslednjo raven.

Tukaj je opisano, kako lahko s tem oživite svoje Python projekte.

Pisanje programov ukazne vrstice brez klika

Programe v ukazni vrstici je mogoče pisati brez uporabe Klika, vendar to zahteva več truda in veliko več kode. Morate razčleniti argumente ukazne vrstice, opraviti preverjanje, razviti logiko za obdelavo različnih argumentov in sestaviti meni za pomoč po meri. Želite dodati novo možnost? Nato boste spremenili svojo funkcijo pomoči.

Nič ni narobe s pisanjem lastne kode in to je odličen način, da se naučite Python-a, vendar Click vam omogoča, da sledite načelom "Ne ponavljaj sebe" (DRY). Brez klika boste napisali kodo, ki je krhka in zahteva veliko vzdrževanja, kadar koli se spremenijo.

Tu je preprost vmesnik ukazne vrstice, kodiran brez klika:

instagram viewer
uvoz sys. uvoz naključne def do_work (): funkcija za upravljanje ukazne vrstice uporaba args = sys.argv args = args [1:] # Prvi element argov je ime datoteke, če je len (args) == 0: print ('Nisi poslal nobenih ukazov noter!') drugo: za a in args: if a == '--help': print ('Basic program ukazne vrstice') print ('Options:') print ('- -pomoč -> pokazati ta osnovni meni pomoči. ') print (' --monty -> pokaži citat Monty Python. ') print (' --veg -> pokaži naključno zelenjavo ') elif a ==' --monty ': print (' Kaj je to, potem? "Romanes eunt domus"? Ljudje kličejo Romane, gredo, hišo? ') Elif a ==' --veg ': print (random.choice ([' Carrot ',' Krompir ',' Turnip '])) other: print (' Neprepoznan argument. ') če je __name__ ==' __main__ ': do_work ()
Primer vmesnika Python ukazne vrstice

Teh 27 vrstic Pythona deluje dobro, vendar so zelo krhke. Vsaka sprememba, ki jo spremenite v svojem programu, bo za spremembo potrebovala veliko druge podporne kode. Če spremenite ime argumenta, boste morali posodobiti podatke o pomoči. Ta koda zlahka preraste nadzor.

Tu je enaka logika s klikom:

uvozni klik. uvozi naključno @ click.command () @ click.option ('- monty', privzeto = False, help = 'Pokaži citat Monty Python.') @ click.option ('- veg', privzeto = False, help = 'Pokaži naključno zelenjavo.') def do_work (monty, veg): Primer osnovnega klika bo sledil vašim ukazom, če monty: print ("Kaj je to potem?" "Romanes eunt domus"? Ljudje kličejo Romane, gredo, hišo? ') Če je veg: print (random.choice ([' korenček ',' krompir ',' rezina ')), če __name__ ==' __main__ ': do_work ()

V tem primeru kliknite isto logiko v 16 vrstic kode. Argumenti so za vas razdelani in ustvari se zaslon za pomoč:

Python Kliknite samodejno ustvarjen zaslon za pomoč

Ta osnovna primerjava prikazuje, koliko časa in truda lahko prihranite s programi, kot je Klik. Čeprav se lahko vmesnik ukazne vrstice končnemu uporabniku zdi isti, je osnovna koda preprostejša in prihranili boste veliko časa kodiranja. Vsake spremembe ali posodobitve, ki jih napišete v prihodnosti, bodo prav tako znatno povečali čas razvoja.

Uvod s klikom za Python

Preden kliknete, boste morda želeli konfigurirajte navidezno okolje Preberite več o uporabi virtualnega okolja PythonNe glede na to, ali ste izkušen razvijalec Python-a ali šele začenjate, učenje o nastavitvi virtualnega okolja je ključnega pomena za vsak Python-ov projekt. Preberi več . To bo ustavilo, da bodo vaši paketi Python v nasprotju z vašim sistemskim Python-om ali drugimi projekti, na katerih morda delate. Lahko bi tudi poskusite Python v svojem brskalniku Poskusite Python v svojem brskalniku s temi brezplačnimi spletnimi interaktivnimi lupinamiNe glede na to, ali grete skozi te primere Python-a ali pregledate osnove nizov in seznamov, lahko kodo preizkusite prav v svojem brskalniku. Tu so najboljši spletni tolmači Python, ki smo jih našli. Preberi več če se želite igrati s Python and Click.

Končno preverite, ali imate nameščeno različico Python 3. Klik s Python različico 2 je mogoče uporabiti, vendar so ti primeri v Python 3. Več o tem razlike med Python 2 in Python 3.

Ko ste pripravljeni, namestite Klik iz ukazne vrstice z uporabo PIP (kako namestiti PIP za Python):

pip namestite klik

Pisanje programa s prvim klikom

V urejevalniku besedil začnite z uvozom Kliknite:

uvozni klik

Ko je enkrat uvožen, ustvarite metoda in a glavno Vstopna točka. Naše Vodič za Python OOP jih podrobneje pokriva, vendar zagotavljajo mesto za shranjevanje kode in način, da jo Python začne izvajati:

uvozni klik. uvozi naključno def veg (): osnovna metoda vrne naključni zelenjavni tisk (random.choice (['Korenček', 'Krompir', 'Repa', 'Parsnip'))), če __name__ == '__main__': veg ()

Ta zelo preprost skript bo ustvaril naključno zelenjavo. Vaša koda je lahko videti drugače, vendar je ta preprost primer kot nalašč za kombinacijo s klikom.

Shrani to kot click_example.pyin ga nato zaženite v ukazni vrstici (po navigaciji do njene lokacije):

python click_example.py

Morali bi videti naključno ime zelenjave. Izboljšajmo stvari z dodajanjem Klika. Spremenite svojo kodo, tako da vključite dekoraterje klikov in a za zanka:

@ click.command () @ click.option ('- skupaj', privzeto = 3, help = 'Število zelenjave, ki jo želite oddati.') def veg (skupno): Osnovna metoda bo vrnila naključno zelenjavo za število v območju (skupno): print (random.choice (['Korenje', 'Krompir', 'Repa', 'Parsnip')), če __name__ == '__main__': veg ()

Po zagonu boste trikrat videli naključno zelenjavo.

Razčlenimo te spremembe. The @ click.command () konfiguracije dekoraterja Kliknite, če želite delovati s funkcijo takoj po dekoraterju. V tem primeru je to veg () funkcijo. To boste potrebovali za vsako metodo, ki jo želite uporabiti s klikom.

The @ click.option dekoraterjeve konfiguracije kliknite, če želite sprejeti parametre iz ukazne vrstice, ki jih bo posredoval vaši metodi. Tu so uporabljeni trije argumenti:

  1. –Zbirno: To je ime ukazne vrstice za skupaj prepir.
  2. privzeto: Če pri uporabi skripta ne navedete celotnega argumenta, bo klik uporabil privzeto vrednost.
  3. pomoč: Kratek stavek, ki razlaga, kako uporabljati svoj program.

Oglejmo si Klik v akciji. Iz ukazne vrstice zaženite skript, vendar prenesite v skupaj takšen argument:

python click_example.py - skupno 10

Z nastavitvijo – Skupno 10 iz ukazne vrstice bo vaš skript natisnil deset naključnih zelenjav.

Če vstopite v - pomoč Označite lahko lepo stran s pomočjo in možnostmi, ki jih lahko uporabite:

python click_example.py - pomoč
Python Kliknite pomoč

Dodajanje dodatnih ukazov

V isti funkciji je mogoče uporabiti več okraševalcev klikov. Dodajte še eno možnost klika na veg funkcija:

@ click.option ('- omaka', privzeto = False, help = 'Dodaj zeleni barvi' zelenjavi. ')

Ne pozabite to prenesti v metodo:

def veg (skupaj, polna):

Zdaj ko zaženete datoteko, lahko prenesete v omaka zastava:

python click_example.py --gravy y

Zaslon za pomoč se je prav tako spremenil:

Python Kliknite zaslon za pomoč

Tu je celotna koda (z nekaj manjšega predelave za urejenost):

uvozni klik. uvozi naključno @ click.command () @ click.option ('- omaka', privzeto = False, help = 'Dodaj zeleni barvi' zelenjavi. ') @ click.option ('- skupaj', privzeto = 3, help = 'Število zelenjave, ki jo želite oddati.') def veg (skupno, gravy): osnovna metoda vrne naključno zelenjavo za število v območju (skupno): izbira = random.choice (['Korenček', 'Krompir', 'Repič', 'Kaša')), če je oljk: natisni (f '{izbira} z omako') drugo: natisni (izbira), če __name__ == '__main__': veg ()

Možnosti še več klikov

Ko spoznate osnove, lahko začnete iskati bolj zapletene možnosti Klik. V tem primeru se boste naučili, kako v enem argumentu prenesti več vrednosti, kar bo klik pretvoril v krog. Več o tulijih lahko izveste v naši vodnik po slovarju Python.

Ustvari novo datoteko z imenom click_example_2.py. Tu je začetna koda, ki jo potrebujete:

uvozni klik. uvozi naključno @ click.command () def add (): Osnovna metoda bo seštela dve številki. pass, če je __name__ == '__main__': add ()

Tu ni nič novega. V prejšnjem razdelku je ta koda podrobno razložena. Dodajte @ click.option klical številke:

@ click.option ('- številke', nargs = 2, type = int, help = 'Dodaj dve številki skupaj.')

Edina nova koda tukaj je nargs = 2, in tip = int opcije. To pove Kliku, da sprejmete dve vrednosti za številke možnost in da morata biti oba cela tipa. To lahko spremenite v poljubno številko ali (veljavno) vrsto podatkov, ki vam je všeč.

Končno spremenite dodaj metoda za sprejem številke argumentacijo in z njimi opravite nekaj obdelave:

def add (številke): Osnovna metoda bo seštela dve številki. rezultat = številke [0] + številke [1] natisni (f '{številke [0]} + {številke [1]} = {rezultat}')

Vsaka vrednost, ki jo prenesete, je dostopna prek številke objekt. Tukaj je opisano, kako ga lahko uporabite v ukazni vrstici:

python click_example_2.py - številke 1 2
Rezultat Python Click nargs

Kliknite Je rešitev za pripomočke Python

Kot ste videli, je Click enostaven za uporabo, vendar zelo močan. Medtem ko ti primeri zajemajo samo osnove Klika, obstaja veliko več funkcij, o katerih se lahko naučite zdaj, ko dobro razumete osnove.

Če iščete nekaj Python-ovih projektov, s katerimi bi lahko izvajali svoje nove najdene veščine, zakaj se ne bi naučili kako nadzirati Arduino s Python-om Kako programirati in nadzirati Arduino s Python-omNa žalost ni mogoče neposredno programirati Arduinoja v Pythonu, lahko pa ga prek USB-ja upravljate s programom Python. Tukaj je kako. Preberi več ali kako branje in pisanje v Google Preglednice s Python-om Kako brati in pisati v Google Preglednice s Python-omPython se morda zdi nenavaden in nenavaden, vendar ga je enostavno naučiti in uporabljati. V tem članku vam bom prikazal, kako brati in pisati v Google Preglednice s pomočjo Pythona. Preberi več ? Noben od teh projektov bi bil kot nalašč za pretvorbo v Click!

Joe je diplomirani iz računalništva na Univerzi v Lincolnu v Veliki Britaniji. Je profesionalni razvijalec programske opreme, in ko ne leti dronov ali piše glasbe, ga lahko pogosto najdemo pri fotografiranju ali ustvarjanju videov.