Reklāma

Klikšķis ir Python pakotne komandrindas saskarņu rakstīšanai. Tas jums rada skaistu dokumentāciju un ļauj izveidot komandrindas saskarnes tikai vienā koda rindā. Īsāk sakot: tas ir satriecoši un var palīdzēt pārcelt jūsu programmas uz nākamo līmeni.

Lūk, kā jūs varat to izmantot, lai atdzīvinātu savus Python projektus.

Komandrindas programmu rakstīšana bez klikšķa

Komandrindas programmas var rakstīt, neizmantojot Klikšķi, taču tas prasa vairāk pūļu un daudz vairāk koda. Jums jāizanalizē komandrindas argumenti, jāveic validācija, jāizstrādā loģika dažādu argumentu apstrādei un jāizveido pielāgota palīdzības izvēlne. Vai vēlaties pievienot jaunu opciju? Tad jūs mainīsit palīdzības funkciju.

Rakstot savu kodu, nav nekas nepareizs, un tas ir lielisks veids, kā iemācīties Python, taču Klikšķis ļauj jums ievērot principus “Neatkārtojiet sevi” (DRY). Bez noklikšķināšanas jūs rakstīsit trauslu kodu, kas prasa daudz apkopes, kad notiek jebkādas izmaiņas.

Šeit ir vienkārša komandrindas saskarne, kas kodēta bez klikšķa:

importēt sys. importēt nejaušu def do_work (): Funkcija komandrindas lietojuma apstrādei args = sys.argv args = args [1:] # Pirmais args elements ir faila nosaukums, ja len (args) == 0: print ('Jūs neesat nokārtojis nevienu komandu!') else: for in args: if a == '- help': print ('Basic komandrindas programma') print ('Opcijas:') print ('- -palīdzība -> šovs šī pamatpalīdzības izvēlne. ') print (' --monty -> parādīt Monty Python citātu. ') print (' --veg -> parādīt nejaušu dārzeņu ') elif a ==' --monty ': print (' Kas tas, tad? "Romieši eunt domus"? Cilvēki, kurus sauc par romiešiem, viņi aiziet, māju? ') Elif a ==' --veg ': print (random.choice ([' Burkāns ',' kartupelis ',' Rāceņa '])) cits: print (' Neatpazīts arguments. ') ja __name__ ==' __main__ ': do_work ()
Komandrindas saskarnes piemērs Python

Šīs 27 Python līnijas darbojas labi, bet ir ļoti trauslas. Lai veiktu izmaiņas programmā, tām būs nepieciešams daudz citu atbalsta kodu. Ja mainīsit argumenta nosaukumu, jums būs jāatjaunina palīdzības informācija. Šis kods var viegli kļūt nekontrolējams.

Šāda loģika ir arī ar klikšķi:

importa klikšķis. importēt nejauši @ click.command () @ click.option ('- monty', noklusējums = False, help = 'Rādīt Monty Python citātu.') @ click.option ('- veg', noklusējums = False, help = 'Rādīt nejaušu dārzeņu.') def do_work (monty, veg): Basic Click piemērs sekos jūsu komandām, ja monty: print ('Kas tas ir, tad? "Romieši eunt domus"? Cilvēki, kurus sauc par romiešiem, viņi iet, māju? ') Ja veg: print (random.choice ([' Burkāns ',' Kartupelis ',' Rāceņa ']))), ja __name__ ==' __main__ ': do_work ()

Šis klikšķa piemērs to pašu loģiku ievieš 16 koda rindās. Argumenti tiek parsēti, un tiek ģenerēts palīdzības ekrāns:

Python noklikšķiniet uz automātiski ģenerēta palīdzības ekrāna

Šis pamata salīdzinājums parāda, cik daudz laika un pūļu jūs varat ietaupīt, izmantojot tādas programmas kā Click. Lai gan komandrindas saskarne gala lietotājam var šķist vienāda, pamatā esošais kods ir vienkāršāks, un jūs ietaupīsit daudz laika kodēšanas. Jebkuras izmaiņas vai atjauninājumi, ko uzrakstīsit nākotnē, arī ievērojami palielinās izstrādes laiku.

Darba sākšana ar klikšķi Python

Pirms noklikšķiniet uz Click, iespējams, vēlēsities konfigurēt virtuālo vidi Uzziniet, kā izmantot Python virtuālo vidiNeatkarīgi no tā, vai esat pieredzējis Python izstrādātājs vai tikai sākat darbu, jebkuram Python projektam ir svarīgi iemācīties iestatīt virtuālo vidi. Lasīt vairāk . Tas pārtrauks jūsu Python paketes konfliktēt ar jūsu sistēmas Python vai citiem projektiem, pie kuriem jūs, iespējams, strādājat. Jūs arī varētu izmēģiniet Python savā pārlūkprogrammā Izmēģiniet Python savā pārlūkprogrammā, izmantojot šos bezmaksas tiešsaistes interaktīvos čaulasNeatkarīgi no tā, vai meklējat šos Python piemērus vai pārskata masīvu un sarakstu pamatus, varat pārbaudīt kodu tieši pārlūkprogrammā. Šeit ir labākie tiešsaistes Python tulki, kurus mēs esam atraduši. Lasīt vairāk ja vēlaties spēlēt apkārt ar Python un Click.

Visbeidzot pārliecinieties, vai izmantojat Python 3. versiju. Klikšķi ar Python versiju 2 var izmantot, taču šie piemēri ir atrodami Python 3 versijā. Uzziniet vairāk par atšķirības starp Python 2 un Python 3.

Kad esat gatavs, instalējiet no komandrindas noklikšķiniet, izmantojot PIP (kā instalēt PIP Python):

noklikšķiniet uz pogas instalēt

Pirmā klikšķa programmas rakstīšana

Teksta redaktorā sāciet, importējot Klikšķis:

importa klikšķis

Pēc importēšanas izveidojiet metode un a galvenais Ieejas punkts. Mūsu Python OOP ceļvedis aptver tos sīkāk, bet tie nodrošina vietu jūsu koda glabāšanai un iespēju Python to sākt darbināt:

importa klikšķis. importēt nejaušu def veg (): pamatmetode atgriezīs nejaušu dārzeņu druku (random.choice (['Burkāns', 'Kartupelis', 'Rāceņa', 'Pastinaks'])), ja __name__ == '__main__': veg ()

Šis ļoti vienkāršais skripts izvadīs nejaušu dārzeņu. Jūsu kods var izskatīties savādāk, taču šo vienkāršo piemēru ir lieliski apvienot ar Klikšķi.

Saglabāt šo kā click_example.pyun pēc tam palaidiet to komandrindā (pēc navigācijas uz tā atrašanās vietu):

python click_example.py

Jums vajadzētu redzēt nejaušu dārzeņu nosaukumu. Uzlabosim lietas, pievienojot klikšķi. Mainiet savu kodu, lai iekļautu Click dekorētājus un a priekš cilpa:

@ click.command () @ click.option ('- kopā', noklusējums = 3, help = 'izvadamie dārzeņi.') def veg (kopā): pamatmetode atgriezīs nejaušu dārzeņu skaitlim diapazonā (kopā): drukāt (random.choice (['Burkāns', 'Kartupelis', 'Rācene', 'Pastnip'])), ja __name__ == “__main__”: veg ()

Skrienot, jūs redzēsit nejaušu dārzeņu, kas parādīts trīs reizes.

Sadalīsim šīs izmaiņas. @ click.command () dekorētāja konfigurācija Noklikšķiniet, lai darbotos ar funkciju tūlīt pēc dekoratora. Šajā gadījumā tas ir vega () funkcija. Tas jums būs nepieciešams katrai metodei, kuru vēlaties izmantot ar klikšķi.

@ click.option dekorators konfigurē klikšķi, lai no komandrindas pieņemtu parametrus, kurus tas nodos jūsu metodei. Šeit tiek izmantoti trīs argumenti:

  1. -Kopā: Šis ir komandrindas nosaukums Kopā arguments.
  2. noklusējums: Ja, izmantojot skriptu, nenorādīsit kopējo argumentu, noklikšķiniet uz Noklusējuma vērtība.
  3. palīdzība: Īss teikums, kas izskaidro, kā izmantot savu programmu.

Let 's redzēt Klikšķis darbībā. No komandrindas palaidiet skriptu, bet ievadiet Kopā arguments kā šis:

python click_example.py - 10. kopsumma

Iestatot –10 no komandrindas skripts izdrukās desmit nejaušus dārzeņus.

Ja jūs ieejat –Palīdzēt karogu, jūs redzēsit jauku palīdzības lapu, kā arī iespējas, kuras varat izmantot:

python click_example.py - palīdzēt
Python noklikšķiniet uz palīdzības

Citu komandu pievienošana

Tajā pašā funkcijā ir iespējams izmantot daudzus Click dekorētājus. Pievienojiet vēl vienu klikšķa opciju veģ funkcija:

@ click.option ('- mērce', noklusējums = False, help = 'Pievienojiet dārzeņiem' ar mērci '.)

Neaizmirstiet to ievadīt metodē:

def veg (kopā, mērce):

Tagad, palaižot failu, varat to ievadīt mērce karogs:

python click_example.py - gravy y

Ir mainījies arī palīdzības ekrāns:

Noklikšķiniet uz palīdzības ekrāna Python

Šeit ir viss kods (ar nelielu atskaņu uz pareizību):

importa klikšķis. importēt nejauši @ click.command () @ click.option ('- mērce', noklusējums = False, help = 'Pievienojiet dārzeņiem' ar mērci '.) @ click.option ('- kopā', noklusējums = 3, help = 'izvadamie dārzeņi.') def veg (kopā, mērce): pamatmetode atgriež nejaušu dārzeņu skaitu diapazonā (kopā): izvēle = random.choice (['Burkāns', 'Kartupelis', 'Rāceņa', 'Pastinaks']), ja mērce: drukāt (f '{izvēle} ar mērci') cits: drukāt (izvēle), ja __name__ == '__main__': veg ()

Vēl vairāk klikšķu opciju

Kad esat zinājis pamatus, varat sākt apskatīt sarežģītākas klikšķu opcijas. Šajā piemērā jūs uzzināsit, kā nodot vairākas vērtības vienam argumentam, kuru Klikšķis pārveidos par kopu. Jūs varat uzzināt vairāk par tuples mūsu vietnē Python vārdnīcas ceļvedis.

Izveidojiet jaunu failu ar nosaukumu click_example_2.py. Šis ir nepieciešamais sākuma kods:

importa klikšķis. importēt nejauši @ click.command () def add (): pamatmetode kopā saskaitīs divus ciparus. nokārtot, ja __name__ == '__main__': pievienot ()

Šeit nav nekā jauna. Iepriekšējā sadaļā sīki izskaidrots šis kods. Pievienojiet a @ click.option sauca skaitļi:

@ click.option ('- cipari', nargs = 2, type = int, help = 'Pievienojiet divus ciparus kopā.')

Vienīgais jaunais kods šeit ir nargs = 2un tips = int iespējas. Tas nozīmē Noklikšķiniet, lai akceptētu divas vērtības skaitļi variantam, un ka tiem abiem jābūt veseli skaitļi. Varat to mainīt uz jebkuru numuru vai (derīgu) datu tipu, kas jums patīk.

Visbeidzot mainiet pievienot metode pieņemt skaitļi argumentu un veiciet kādu apstrādi ar viņiem:

def pievienot (skaitļi): pamatmetode kopā saskaitīs divus ciparus. rezultāts = skaitļi [0] + skaitļi [1] drukāt (f '{skaitļi [0]} + {skaitļi [1]} = {rezultāts}')

Katra jūsu ievadītā vērtība ir pieejama caur skaitļi objekts. To var izmantot komandrindā:

python click_example_2.py - numuri 1 2
Python Click nargs rezultāts

Noklikšķiniet uz Vai risinājums Python Utilities

Kā redzējāt, Klikšķis ir ērti lietojams, taču ļoti spēcīgs. Kaut arī šie piemēri aptver tikai pašus Klikšķu pamatus, ir daudz vairāk iespēju, par kurām varat uzzināt tagad, kad esat cieši sapratis pamatus.

Ja jūs meklējat dažus Python projektus, lai praktizētu savas jaunās atrastās prasmes, kāpēc neiemācīties? kā kontrolēt Arduino ar Python Kā programmēt un kontrolēt Arduino ar PythonSkumji, ka nav iespējams tieši programmēt Arduino Python, bet jūs varat to kontrolēt, izmantojot USB, izmantojot Python programmu. Lūk, kā. Lasīt vairāk , vai kā būtu lasīšana un rakstīšana Google izklājlapās ar Python palīdzību Kā lasīt un rakstīt Google izklājlapās ar Python palīdzībuPython var šķist dīvaini un neparasti, tomēr to ir viegli iemācīties un lietot. Šajā rakstā es jums parādīšu, kā lasīt un rakstīt Google izklājlapām, izmantojot Python. Lasīt vairāk ? Jebkurš no šiem projektiem būtu lieliski piemērots konvertēšanai uz Click!

Džo ir absolvējis datorzinātnes Linkolna universitātē, Lielbritānijā. Viņš ir profesionāls programmatūras izstrādātājs, un, kad viņš nelido ar droniem un neraksta mūziku, viņu bieži var atrast fotografējot vai producējot video.