Hirdetés

A Click egy Python csomag parancssori felületek írására. Gyönyörű dokumentációt készít az Ön számára, és lehetővé teszi a parancssori felületek felépítését, akár egy kód sorban is. Röviden: fantasztikus és segíthet a programjainak a következő szintre jutásában.

Így használhatja fel Python-projektek felélénkítésére.

Parancssori programok írása kattintás nélkül

A parancssori programokat a Click használata nélkül is lehet írni, de ehhez több erőfeszítésre és sokkal több kódra van szükség. Elemeznie kell a parancssori argumentumokat, végre kell hajtania az érvényesítést, ki kell fejlesztenie a logikát a különféle argumentumok kezelésére, és össze kell állítania az egyéni súgó menüt. Új lehetőséget szeretne hozzáadni? Akkor módosítja a súgó funkciót.

Nincs semmi baj a saját kódjának írásával, és ennek nagyszerű módja a Python megtanulása, ám a Click lehetővé teszi a „Ne ismételje meg önmagát” (DRY) alapelveit. Kattintás nélkül olyan kódot fog írni, amely törékeny és sok karbantartást igényel bármilyen változás esetén.

Itt van egy egyszerű parancssori felület, amely kattintás nélkül van kódolva:

import rendszer. import véletlen def do_work (): A parancssori használat kezelésének függvénye args = sys.argv args = args [1:] # Az args első eleme a fájlnév, ha len (args) == 0: print ('Nem adott át egyetlen parancsot sem!') egyébként: in in args esetén: ha a == '--help': print ('Alapvető parancssori program') print ('Opciók:') print ('- -segítség -> show ez az alapvető súgómenü. ') print (' --monty -> Monty Python idézet megjelenítése. ') print (' --veg -> véletlenszerű zöldség megjelenítése ') elif a ==' --monty ': print (' Mi ez, akkor? "Románok eunt domus"? Rómáknak hívják az embereket, mennek, a házba? ') Elif a ==' --veg ': print (random.choice ([' Sárgarépa ',' Burgonya ',' Fehérrépa '))) egyéb: print (' Ismeretlen érv. ') ha __name__ ==' __main__ ': do_work ()
Példa a Python parancssori felületre

Ez a 27 Python sor jól működik, de nagyon törékeny. A programban végrehajtott bármilyen változtatáshoz sok más támogató kód szükséges. Ha megváltoztat egy argumentumnevet, akkor frissítenie kell a súgóinformációkat. Ez a kód könnyen kikerülhet az irányításból.

Ugyanez a logika a kattintással:

import kattintás. importál véletlenszerűen @ click.command () @ click.option ('- monty', alapértelmezés = Hamis, help = 'Monty Python-ajánlat megjelenítése.') @ click.option ('- veg', alapértelmezés = hamis, help = 'Egy véletlenszerű zöldség megjelenítése.') def do_work (monty, veg): Alapvető kattintási példa követi a parancsokat, ha monty: print ('Mi ez akkor? "Románok eunt domus"? Rómáknak hívják az embereket, a házat?

Ez a kattintási példa ugyanazt a logikát valósítja meg 16 kódsorban. Az argumentumokat elemzi az ön számára, és elkészül a súgó képernyő:

Python Kattintson az automatikusan létrehozott súgó képernyőre

Ez az alapvető összehasonlítás megmutatja, mennyi időt és energiát takaríthat meg olyan programok használatával, mint a Click. Bár a parancssori felület ugyanaznak tűnik a végfelhasználónál, az alapul szolgáló kód egyszerűbb, és sok időkódot fog megtakarítani. A jövőben bármilyen változtatás vagy frissítés esetén a fejlesztési idő jelentős növekedést mutat.

Az első lépések a Python használatához

A Click használata előtt érdemes lehet konfiguráljon egy virtuális környezetet Tanulja meg, hogyan kell használni a Python virtuális környezetetAkár tapasztalt Python-fejlesztő, akár éppen most kezdődik, minden Python-projekthez nélkülözhetetlen a virtuális környezet beállításának megtanulása. Olvass tovább . Ez megállítja a Python-csomagok ütközését a Python-rendszerrel vagy más projektekkel, amelyekkel esetleg dolgozik. Lehetne próbáljon ki Python-ot a böngészőjében Próbálja ki a Python-ot a böngészőjében ezekkel az ingyenes online interaktív kagylókkalFüggetlenül attól, hogy ezeket a Python-példákat áttekinti, vagy áttekinti a tömbök és listák alapjait, kipróbálhatja a kódot közvetlenül a böngészőjében. Itt találhatók a legjobb online Python-tolmácsok. Olvass tovább ha játszani akarsz a Python és a Click segítségével.

Végül győződjön meg arról, hogy a Python 3-as verzióját futtatja. Lehetőség van a Click with Python 2-es verziójának használatára, de ezek a példák a Python 3-ban találhatók. Tudjon meg többet a a Python 2 és a Python 3 közötti különbségek.

Ha kész, telepítse Kattintson a parancssorból a PIP használatával (Hogyan telepítsük a PIP programot a Pythonhoz):

pip telepítés kattintson

Az első kattintás programjának írása

A szövegszerkesztőben kezdje el a Click importálásával:

import kattintás

Az importálás után hozzon létre egy eljárás és a fő- belépési pont. a Python OOP útmutató részletesebben lefedi ezeket, de biztosít egy helyet a kód tárolására, és lehetőséget kínál a Python számára annak futtatására:

import kattintás. import véletlenszerű def veg (): Az alap módszer véletlenszerű növényi nyomatot eredményez (random.choice (['Sárgarépa', 'Burgonya', 'Fehérrépa', 'Pastnip'])), ha __name__ == '__main__': veg ()

Ez a nagyon egyszerű szkript véletlenszerű zöldséget eredményez. Kódja eltérő lehet, de ezt az egyszerű példát tökéletesen kombinálhatja a Click használatával.

Mentés másként click_example.py, majd futtassa a parancssorban (a helyére navigálás után):

python click_example.py

Látnia kell egy véletlenszerű zöldségnevet. Javítsuk a dolgokat a kattintással. Változtassa meg a kódját, hogy tartalmazza a Click dekorátorokat és a mert hurok:

@ Click.command () @ click.option ('- összesen', alapértelmezett = 3, help = 'Kimenő zöldségek száma.') def veg (összesen): Az alapvető módszer egy véletlenszerű zöldséget ad vissza a tartományban lévő számra (összesen): print (random.choice (['Sárgarépa', 'Burgonya', 'Fehérrépa', 'Pastnip'])), ha __ név__ == „__main__”: veg ()

Futáskor egy véletlenszerű zöldséget fog megjelenni háromszor.

Lebontjuk ezeket a változásokat. Az @ Click.command () dekorátor konfigurációk Kattintson, hogy a dekorátort közvetlenül követő funkcióval dolgozzon. Ebben az esetben ez a veg () funkció. Szüksége lesz erre minden olyan módszernél, amelyet a kattintással szeretne használni.

Az @ click.option A dekorátor konfigurálására kattintva fogadja el a paramétereket a parancssorból, amelyet átad a módszernek. Három érvet használunk itt:

  1. -teljes: Ez a parancssori neve a teljes érv.
  2. alapértelmezett: Ha a szkript használatakor nem adja meg a teljes argumentumot, akkor a Click az alapértelmezett értéket fogja használni.
  3. Segítség: Rövid mondat, amely ismerteti a program használatát.

Lássuk a Click in action. A parancssorból futtassa a szkriptet, de adja át a teljes ilyen érv:

python click_example.py - összesen 10

A beállítással –Összeg 10 A parancssorból a szkript tíz véletlenszerű zöldséget fog kinyomtatni.

Ha belép a -Segítség jelzővel, egy szép súgóoldalt fog látni, a választható lehetőségekkel együtt:

python click_example.py --help
Python Kattintson a súgóra

További parancsok hozzáadása

Lehetséges, hogy ugyanazon a funkción sok Click dekorátor használható. Adjon hozzá még egy kattintási lehetőséget a veg funkció:

@ click.option ('- mártás', alapértelmezés = hamis, help = 'Mellék hozzáadásával' zöldségekhez '')

Ne felejtsd el átadni ezt a módszert:

def veg (összesen, mártás):

A fájl futtatásakor átadhatja a szaft zászló:

python click_example.py - gravy y

A súgó képernyő szintén megváltozott:

Python Kattintson a súgó képernyőre

Íme a teljes kód (néhány kisebb refaktúrával a tisztaság érdekében):

import kattintás. importál véletlenszerűen @ click.command () @ click.option ('- mártás', alapértelmezés = hamis, help = 'Mellék hozzáadásával' zöldségekhez '') @ click.option ('- összesen', alapértelmezett = 3, help = 'Kimenő zöldségek száma.') def veg (összesen, mártással): Az alapvető módszer egy véletlenszerű zöldséget ad vissza a tartományban lévő összes számra (összesen): választás = random.choice (['Sárgarépa', 'Burgonya', 'Fehérrépa', 'Pastnip']) ha mártás: print (f '{választás} mártással') egyéb: print (választás), ha __name__ == '__main__': veg ()

Még több kattintási lehetőség

Miután megismerte az alapokat, elkezdi vizsgálni a bonyolultabb kattintási lehetőségeket. Ebben a példában megtanulja, hogyan lehet több értéket átadni egyetlen argumentumnak, amelyet a kattintás átalakít összeállításra. Többet megtudhat a tuplokról a útmutató a Python szótárhoz.

Hozzon létre egy új fájlt click_example_2.py. Itt van a szükséges kezdő kód:

import kattintás. importál véletlenszerűen @ click.command () def add (): Az alap módszer két számot ad össze. átadni, ha __name__ == '__main__': add ()

Nincs itt semmi új. Az előző szakasz ezt a kódot részletesebben ismerteti. Adjon hozzá egy @ click.option hívott szám:

@ click.option ('- számok, nargs = 2, type = int, help =' Két szám összeillesztése. ')

Az egyetlen új kód itt a nargs = 2, és a type = int lehetőségek. Ez azt mondja a Click-nek, hogy fogadjon el két értéket a szám opció, és hogy mindkettőnek egész típusúnak kell lennie. Ezt bármilyen számra vagy (érvényes) adattípusra megváltoztathatja.

Végül változtassa meg a hozzáad módszer a szám argumentumot, és végezzen néhány feldolgozást velük:

def összeadás (számok): Az alapvető módszer két számot fog összeadni. eredmény = számok [0] + számok [1] nyomtatás (f '{számok [0]} + {számok [1]} = {eredmény}')

Minden átvitt érték elérhető a szám tárgy. Így lehet felhasználni a parancssorban:

python click_example_2.py - számok 1 2
Python Click nargs eredmény

Kattintson a A megoldás a Python segédprogramokra elemre

Mint látta, a Click használata egyszerű, de nagyon hatékony. Noha ezek a példák csak a kattintás alapjait fedik le, még sok más funkcióval ismerkedhet meg, amelyekbe alaposan megérti az alapokat.

Ha néhány Python projektet keres, ahol gyakorolhatja az új készségeit, miért nem tanulja meg hogyan lehet irányítani egy Arduino-t Python-nal Hogyan programozhatunk és vezérelhetünk egy Arduino-t Python segítségévelSajnos lehetetlen közvetlenül programozni egy Arduino-t Python-ban, de Python-programmal USB-n keresztül vezérelheti. Itt van, hogyan. Olvass tovább , vagy mi lenne? olvasni és írni a Google Táblázatokra Python segítségével Hogyan kell olvasni és írni a Google Táblázatokhoz a Python segítségévelA Python furcsának és szokatlannak tűnhet, azonban könnyen megtanulható és használható. Ebben a cikkben bemutatom, hogyan kell elolvasni és írni a Google Táblázatokhoz a Python használatával. Olvass tovább ? Ezeknek a projekteknek egyike lenne tökéletes a Click!

Joe számítógépes ismeretek diplomáját szerezte az Egyesült Királyság Lincolni Egyetemen. Professzionális szoftverfejlesztő, és amikor nem repül drónokkal és nem ír zenét, gyakran találkozhat fényképezéssel vagy videó készítésével.