Mainos

Click on Python-paketti komentoriviliittymien kirjoittamiseksi. Se tuottaa sinulle kaunista dokumentaatiota ja antaa sinun luoda komentoriviliittymiä vain yhdellä koodirivillä. Lyhyesti: se on mahtava ja voi auttaa siirtämään ohjelmasi seuraavalle tasolle.

Näin voit käyttää sitä elävöittämään Python-projektejasi.

Komentoriviohjelmien kirjoittaminen napsauttamatta

Komentoriviohjelmat on mahdollista kirjoittaa käyttämättä napsautusta, mutta se vaatii enemmän työtä ja paljon enemmän koodia. Sinun on jäsentättävä komentoriviargumentit, suoritettava validointi, kehitettävä logiikka käsittelemään erilaisia ​​argumentteja ja rakennettava mukautettu ohjevalikko. Haluatko lisätä uuden vaihtoehdon? Muokkaat sitten aputoimintoasi.

Oman koodin kirjoittamisessa ei ole mitään vikaa, ja se on hieno tapa oppia Python, mutta napsauttamalla voit seurata ”Älä toista itseäsi” -periaatteita. Ilman napsautusta kirjoitat koodin, joka on hauras ja vaatii paljon ylläpitoa, kun muutoksia tapahtuu.

Tässä on yksinkertainen komentoriviliittymä, joka koodataan ilman napsautusta:

Tuo sys. Tuo satunnainen def do_work (): Toiminto komentorivin käytön käsittelemiseksi args = sys.argv args = args [1:] # Argsin ensimmäinen elementti on tiedostonimi, jos len (args) == 0: print ('Et ole läpäissyt yhtään komentoa!') muuten: in in args: if = = '- apua': print ('Basic komentoriviohjelma') print ('Options:') print ('- -autta -> show tämä perusohjevalikko. ') print (' - kuukausi -> näytä Monty Python-tarjous. ') tulosta (' --veg -> näytä satunnainen vihannes ') elif a ==' - kuukausi ': tulosta (' Mikä tämä on, sitten? "Roomalaiset eunt domus"? Ihmiset, joita kutsutaan roomalaisiksi, menevätkö, taloon? ') Elif a ==' --veg ': print (random.choice ([' porkkana ',' peruna ',' nauri '])) else: print (' tuntematon argumentti. ') jos __name__ ==' __main__ ': do_work ()
Python-komentoriviliittymäesimerkki

Nämä 27 Python-riviä toimivat hyvin, mutta ovat erittäin hauraita. Kaikki muutokset, joita teet ohjelmaan, tarvitsevat paljon muita tukikoodeja muutosten tekemiseksi. Jos muutat argumentin nimeä, sinun on päivitettävä ohjeet. Tämä koodi voi helposti kasvaa käsistä.

Tässä logiikassa on sama logiikka:

Tuo napsauta. Tuo satunnainen @ click.command () @ click.option ('- monty', oletus = vääriä, ohje = 'Näytä Monty Python-tarjous.') @ click.option ('- veg', oletus = vääriä, ohje = 'Näytä satunnainen vihannes.') def do_work (monty, veg): Basic Click-esimerkki seuraa komentoja, jos monty: print ('Mikä tämä sitten on? "Roomalaiset eunt domus"? Ihmiset, joita kutsutaan roomalaisiksi, menevätkö, taloon? ') Jos veg: print (random.choice ([' Porkkana ',' Peruna ',' Nauri ']))) jos __name__ ==' __main__ ': do_work ()

Tämä Click-esimerkki toteuttaa saman logiikan 16 koodirivillä. Argumentit jäsennetään puolestasi ja ohjeruutu luodaan:

Python Napsauta automaattisesti luotavaa ohjeikkunaa

Tämä perusvertailu osoittaa, kuinka paljon aikaa ja vaivaa voit säästää käyttämällä ohjelmia, kuten Click. Vaikka komentoriviliittymä voi näyttää samalta loppukäyttäjälle, sen alla oleva koodi on yksinkertaisempi, ja säästät paljon koodausta. Jos kirjoitat muutoksia tai päivityksiä tulevaisuudessa, myös kehitysaika kasvaa huomattavasti.

Aloittaminen napsauttamalla Python-ohjelmaa

Ennen kuin käytät Click, saatat haluta määritä virtuaalinen ympäristö Opi käyttämään Python-virtuaaliympäristöäOletko kokenut Python-kehittäjä tai vasta aloittamassa, virtuaaliympäristön asettamisen oppiminen on välttämätöntä kaikille Python-projekteille. Lue lisää . Tämä estää Python-paketteja, jotka ovat ristiriidassa järjestelmän Python-järjestelmän tai muiden projektien kanssa. Voit myös Kokeile Python-selainta Kokeile Python-selaintasi näillä ilmaisilla interaktiivisilla kuoreillaOlitpa läpi näitä Python-esimerkkejä tai tarkistamassa taulukkojen ja luetteloiden perusteet, voit testata koodin suoraan selaimessasi. Tässä ovat parhaat löytämämme Python-tulkit. Lue lisää jos haluat pelata Pythonilla ja Click: llä.

Varmista lopuksi, että käytät Python-versiota 3. Napsautusta Python-version 2 kanssa on mahdollista käyttää, mutta nämä esimerkit ovat Python 3 -versiossa. Lisätietoja erot Python 2: n ja Python 3: n välillä.

Kun olet valmis, asenna napsauta komentoriviltä PIP (kuinka asentaa PIP Pythonille):

pip-asennus napsauta

Ensimmäisen napsautuksen ohjelman kirjoittaminen

Aloita tekstieditorissa napsauttamalla seuraavaa:

Tuo napsauta

Kun olet tuonut, luo menetelmä ja a tärkein sisääntulopiste. Meidän Python OOP -opas kattaa ne tarkemmin, mutta ne tarjoavat paikan koodisi tallentamiseen ja keinon Pythonille sen käynnistämiseksi:

Tuo napsauta. Tuo satunnainen def veg (): Perusmenetelmä tuottaa satunnaisen vihannespainikkeen (random.choice (['Porkkana', 'Peruna', 'Nauri', 'Pastinappi'])), jos __name__ == '__main__': veg ()

Tämä hyvin yksinkertainen skripti tuottaa satunnaisen vihanneksen. Koodisi voi näyttää erilaiselta, mutta tämä yksinkertainen esimerkki sopii täydellisesti yhdistelmäksi Click.

Tallenna tämä nimellä click_example.pyja suorita se sitten komentorivillä (navigoinnin sen sijaintiin):

python click_example.py

Sinun pitäisi nähdä satunnainen vihannesnimi. Parannetaan asioita lisäämällä napsauttamalla. Vaihda koodi sisällyttääksesi Click-sisustajat ja a varten silmukka:

@ Click.command () @ click.option ('- yhteensä', oletus = 3, help = 'Tuotettavien vihannesten lukumäärä.') def veg (yhteensä): Perusmenetelmä tuottaa satunnaisen vihannesten lukumäärän alueella (kokonaismäärä): tulosta (random.choice (['Porkkana', 'Peruna', 'Nauri', 'Pastnip'])), jos __name__ == '__main__': veg ()

Juoksemisen yhteydessä satunnainen vihannes näytetään kolme kertaa.

Hajotamme nämä muutokset. @ Click.command () sisustusarkkitehtuurin asetukset Napsauta tätä, kun haluat käyttää toimintoa välittömästi sisustajan seuraajana. Tässä tapauksessa tämä on vihanneksia () toimia. Tarvitset tätä jokaisessa menetelmässä, jota haluat käyttää napsautuksella.

@ click.option sisustajan asetukset napsauttamalla hyväksyy parametrit komentoriviltä, ​​jonka se siirtää menetelmällesi. Tässä käytetään kolme argumenttia:

  1. -kaikki yhteensä: Tämä on komentorivin nimi kaikki yhteensä Perustelu.
  2. oletus: Jos et määrittele koko argumenttia skriptiäsi käytettäessä, napsauta käyttää oletusarvoa.
  3. auta: Lyhyt lause, joka selittää ohjelman käytön.

Katsotaanpa napsauttamalla toiminnassa. Suorita komentoriviltä komentosarja, mutta lähetä kaikki yhteensä tällainen argumentti:

python click_example.py - yhteensä 10

Asettamalla - yhteensä 10 komentoriviltä komentosarja tulostaa kymmenen satunnaista vihannesta.

Jos ohitat -auta -lippua, näet mukavan ohjeen ja käyttämiäsi vaihtoehtoja:

python click_example.py - apua
Python Napsauta ohjeita

Lisää komentoja

On mahdollista käyttää monia napsautuskoristeita samassa toiminnossa. Lisää uusi napsautusvaihtoehto vihannes toimia:

@ click.option ('- kastike', oletus = vääriä, ohje = 'Lisää "kastikkeella" vihanneksiin.')

Muista välittää tämä menetelmälle:

def veg (yhteensä, kastike):

Nyt kun suoritat tiedoston, voit siirtää sen paistinkastike lippu:

python click_example.py - kasvit y

Ohjekuva on myös muuttunut:

Python Napsauta ohjeikkunaa

Tässä on koko koodi (joitain pieniä refaktorointia siisteyden suhteen):

Tuo napsauta. Tuo satunnainen @ click.command () @ click.option ('- kastike', oletus = vääriä, ohje = 'Lisää "kastikkeella" vihanneksiin.') @ click.option ('- yhteensä', oletus = 3, help = 'Tuotettavien vihannesten lukumäärä.') def veg (kokonainen, kastike): Perusmenetelmä antaa satunnaisen vihannesten lukumäärän alueella (yhteensä): valinta = random.choice (['Porkkana', 'Peruna', 'Nauri', 'Pastinappi']), jos kastike: tulosta (f '{valinta} kastikkeella') muu: tulosta (valinta), jos __name__ == '__main__': veg ()

Vielä enemmän napsautusvaihtoehtoja

Kun olet oppinut perusteet, voit alkaa tarkastella monimutkaisempia napsautusvaihtoehtoja. Tässä esimerkissä opit kuinka siirtää useita arvoja yhdelle argumentille, joka napsauttamalla muuntaa tuplaksi. Voit oppia lisää tupleista meidän Python-sanakirjan opas.

Luo uusi tiedosto nimeltään click_example_2.py. Tässä on tarvitsemasi aloituskoodi:

Tuo napsauta. Tuo satunnainen @ click.command () def add (): Perusmenetelmä lisää kaksi numeroa yhteen. läpäistä, jos __name__ == '__main__': lisää ()

Täällä ei ole mitään uutta. Edellisessä osassa selitetään tämä koodi yksityiskohtaisesti. Lisää @ click.option olla nimeltään numerot:

@ click.option ('- numerot', nargs = 2, type = int, help = 'Lisää kaksi numeroa yhteen.')

Ainoat uudet koodit tässä ovat nargs = 2, ja type = int vaihtoehtoja. Tämä käskee Napsauta hyväksymään kaksi arvoa numerot -vaihtoehto, ja että niiden molempien on oltava tyyppisiä kokonaislukuja. Voit muuttaa sen mihin tahansa numeroon tai (kelvolliseen) tietotyyppiin.

Vaihda lopuksi lisätä menetelmä hyväksyä numerot argumentti ja käsittele joitain heidän kanssaan:

def add (numerot): Perusmenetelmä lisää kaksi numeroa yhteen. tulos = numerot [0] + numerot [1] tulosta (f '{numerot [0]} + {numerot [1]} = {tulos}')

Jokainen arvo, jonka syötät, on käytettävissä numerot esine. Näin voit käyttää sitä komentorivillä:

python click_example_2.py - numerot 1 2
Python Click -jäsenten tulos

Valitse Onko ratkaisu Python-apuohjelmiin

Kuten olette nähneet, Click on helppokäyttöinen, mutta erittäin tehokas. Vaikka nämä esimerkit kattavat vain napsautuksen perusteet, on olemassa paljon enemmän ominaisuuksia, joista voit oppia nyt, kun sinulla on vankka käsitys perusteista.

Jos etsit joitain Python-projekteja, joilla voit harjoittaa uusia löydettyjä taitojasi, miksi et oppisi kuinka hallita Arduinoa Pythonilla Kuinka ohjelmoida ja hallita Arduinoa PythonillaValitettavasti Arduinoa ei ole mahdollista ohjelmoida suoraan Pythoniin, mutta voit hallita sitä USB: n kautta Python-ohjelmalla. Tässä on miten. Lue lisää , tai entä lukeminen ja kirjoittaminen Google Sheetsille Pythonilla Kuinka lukea ja kirjoittaa Google-taulukoihin PythonillaPython saattaa tuntua oudolta ja epätavalliselta, mutta se on helppo oppia ja käyttää. Tässä artikkelissa esitän sinulle kuinka lukea ja kirjoittaa Google Sheetsille Pythonin avulla. Lue lisää ? Kumpikin näistä projekteista olisi täydellinen muuntamaan Click!

Joe on valmistunut tietojenkäsittelytieteestä Lincolnin yliopistosta, Iso-Britannia. Hän on ammattimainen ohjelmistokehittäjä, ja kun hän ei lentä drooneja tai kirjoita musiikkia, hänet voidaan usein löytää ottamasta valokuvia tai tuottamaan videoita.