Jak vytvořit vlastní programy příkazového řádku v Pythonu kliknutím

  • Mark Lucas
  • 1
  • 2948
  • 388
reklama

Click je balíček Python pro psaní rozhraní příkazového řádku. Vytváří pro vás nádhernou dokumentaci a umožňuje vám vytvářet rozhraní příkazového řádku již v jedné řádce kódu. Stručně řečeno: je to úžasné a může vám pomoci posunout vaše programy na další úroveň.

Zde je návod, jak jej použít k oživení vašich projektů Pythonu.

Psaní programů příkazového řádku bez kliknutí

Je možné psát programy příkazového řádku bez použití Click, ale vyžaduje to více úsilí a mnohem více kódu. Je třeba analyzovat argumenty příkazového řádku, provádět ověřování, rozvíjet logiku pro zpracování různých argumentů a vytvářet vlastní nabídku nápovědy. Chcete přidat novou možnost? Poté změníte funkci nápovědy.

S napsáním vlastního kódu není nic špatného, ​​a je to skvělý způsob, jak se naučit Python, ale Click vám umožní sledovat “Neopakujte se” (DRY) principy. Bez kliknutí budete psát kód, který je křehký a vyžaduje hodně údržby, kdykoli dojde ke změnám.

Zde je jednoduché rozhraní příkazového řádku kódované bez kliknutí:

import sys import random def do_work (): "" "Funkce pro zpracování použití příkazového řádku" "" args = sys.argv args = args [1:] # První prvek args je název souboru, pokud len (args) == 0 : print ('Nepředali jste žádné příkazy v!') jinde: pro a in args: if a == '--help': print ('Základní program příkazového řádku') print ('Options:') print (' --help -> zobrazit toto základní menu nápovědy. ') print (' --monty -> zobrazí nabídku Monty Python. ') print (' --egeg -> zobrazit náhodnou zeleninu ') elif a ==' - monty ': print (' Co je to tedy? "Romanes eunt domus"? Říkali si Romové, jdou, dům? ') elif a ==' - veg ': print (random.choice ([' Mrkev ',' Brambor ',' Tuřín '])) jinde: print (' Nerozpoznaný argument. '), Pokud __name__ ==' __main__ ': do_work ()

Těchto 27 řádků Pythonu funguje dobře, ale jsou velmi křehké. Jakékoli změny, které provedete ve svém programu, vyžadují ke změně spoustu dalších podpůrných kódů. Pokud změníte název argumentu, budete muset aktualizovat informace nápovědy. Tento kód lze snadno vymknout kontrole.

Tady je stejná logika jako s Click:

import click import náhodné @ click.command () @ click.option ('- monty', default = False, help = "Zobrazit nabídku Monty Python.") @ click.option ('- veg', default = False , help = "Zobrazit náhodnou zeleninu.") def do_work (monty, veg): "" "Příklad základního kliknutí bude následovat vaše příkazy" "" pokud monty: print ('Co je to tedy? "Romanes eunt domus "? Lidé volali Romy, jdou, dům?") Pokud veg: print (random.choice (['Mrkev', 'brambor', 'tuřín']))), pokud __name__ == '__main__': do_work ()

Tento příklad kliknutí implementuje stejnou logiku do 16 řádků kódu. Argumenty jsou analyzovány za vás a je vygenerována obrazovka nápovědy:

Toto základní srovnání ukazuje, kolik času a úsilí můžete ušetřit pomocí programů, jako je Click. I když se rozhraní příkazového řádku může konečnému uživateli zdát stejné, základní kód je jednodušší a ušetříte spoustu času kódování. Jakékoli změny nebo aktualizace, které napíšete v budoucnu, také výrazně prodlouží dobu vývoje.

Začínáme s klepnutím na Python

Než použijete Click, možná budete chtít nakonfigurovat virtuální prostředí. Naučte se, jak používat virtuální prostředí Python Naučte se, jak používat virtuální prostředí Python Ať už jste zkušený vývojář Pythonu, nebo se teprve začínáte, naučíte se, jak nastavit virtuální prostředí je nezbytný pro jakýkoli projekt Python. . Tím zabráníte konfliktům vašich balíčků Pythonu s vaším systémovým Pythonem nebo jinými projekty, na kterých možná pracujete. Můžete také vyzkoušet Python ve svém prohlížeči Vyzkoušejte Python ve svém prohlížeči pomocí těchto online interaktivních skořápek zdarma Vyzkoušejte Python ve svém prohlížeči pomocí těchto bezplatných online interaktivních skořápek Ať už procházíte těmito příklady Pythonu nebo si prohlížíte základy polí a seznamů, můžete vyzkoušejte kód přímo v prohlížeči. Zde jsou nejlepší online tlumočníci Pythonu, které jsme našli. pokud si chcete hrát s Python a Click.

Nakonec se ujistěte, že používáte Python verze 3. Je možné použít Click s Python verze 2, ale tyto příklady jsou v Pythonu 3. Další informace o rozdílech mezi Python 2 a Python 3.

Jakmile je připraven, nainstalujte Klikněte na příkazový řádek pomocí PIP (jak nainstalovat PIP pro Python):

pip install click

Psaní programu pro první kliknutí

V textovém editoru začněte importem Klikněte:

klikněte na import

Po importu vytvořte metoda a hlavní Vstupní bod. Náš průvodce Python OOP je podrobněji popisuje, ale poskytuje místo pro uložení kódu a způsob, jak ho Python začít spouštět:

import click import náhodné def veg (): "" "Základní metoda vrátí náhodný tisk zeleniny" "(random.choice (['Mrkev', 'Brambor', 'Tuřín', 'Parsnip']))), pokud __name__ = = '__main__': veg ()

Tento velmi jednoduchý skript vydá náhodnou zeleninu. Váš kód může vypadat jinak, ale tento jednoduchý příklad je perfektní pro kombinaci s Clickem.

Uložit jako click_example.py, a poté jej spusťte v příkazovém řádku (po navigaci na jeho místo):

python click_example.py

Měli byste vidět náhodný název zeleniny. Pojďme zlepšit věci přidáním Click. Změňte svůj kód tak, aby zahrnoval dekorátory Click a pro smyčka:

@ click.command () @ click.option ('- celkem', výchozí = 3, help = "Počet zeleniny na výstup.") def veg (celkem): "" "Základní metoda vrátí náhodnou zeleninu" " "pro číslo v rozsahu (celkem): print (random.choice (['Mrkev', 'brambor', 'tuřín', 'pastinák']))), pokud __name__ == '__main__': veg ()

Po spuštění uvidíte třikrát náhodnou zeleninu.

Pojďme rozebrat tyto změny. @ click.command () Konfigurátor dekoratérů Klikněte pro práci s funkcí ihned po dekoratérovi. V tomto případě je to veg () funkce. Budete to potřebovat pro každou metodu, kterou chcete použít s Click.

@ click.option dekoratér konfiguruje kliknutím přijme parametry z příkazového řádku, které předá vaší metodě. Zde se používají tři argumenty:

  1. -celkový: Toto je název příkazového řádku pro celkový argument.
  2. výchozí: Pokud při použití skriptu nezadáte celkový argument, bude hodnota použita ve výchozím nastavení.
  3. Pomoc: Krátká věta vysvětlující, jak používat váš program.

Uvidíme Click in action. Z příkazového řádku spusťte skript, ale předejte příkaz celkový argument jako je tento:

python click_example.py - celkem 10

Nastavením -celkem 10 z příkazového řádku vytiskne váš skript deset náhodných zeleniny.

Pokud předáte -Pomoc flag, zobrazí se pěkná stránka nápovědy a možnosti, které můžete použít:

python click_example.py - help

Přidání dalších příkazů

Je možné použít mnoho kliků na stejnou funkci. Přidejte další možnost kliknutí do veg funkce:

@ click.option ('- gravy', default = False, help = "Append" with gravy "do zeleniny.")

Nezapomeňte předat tuto metodu:

def veg (celkem, omáčka):

Nyní, když spustíte soubor, můžete předat soubor omáčka vlajka:

python click_example.py --gravy y

Obrazovka nápovědy se také změnila:

Zde je celý kód (s drobnými refaktoringy pro úhlednost):

import click import random @ click.command () @ click.option ('- gravy', default = False, help = "Append" with gravy "do zeleniny.") @ click.option ('- total', default = 3, help = "Počet zeleniny na výstup.") def veg (celkem, gravy): "" "Základní metoda vrátí náhodnou zeleninu" "" pro číslo v rozsahu (celkem): selection = random.choice ( ['Mrkev', 'brambor', 'tuřín', 'pastinák']) pokud je omáčka: tisk (f 'volba s omáčkou') jinde: tisk (výběr), pokud __name__ == '__main__': veg ()

Ještě více Klikněte na Možnosti

Jakmile znáte základy, můžete začít zkoumat složitější možnosti kliknutí. V tomto příkladu se naučíte, jak předat několik hodnot jednomu argumentu, který Click převede na n-tici. Více informací o n-ticích naleznete v našem průvodci slovníkem Python.

Vytvořte nový soubor s názvem click_example_2.py. Zde je startovací kód, který potřebujete:

import click import random @ click.command () def add (): "" "Základní metoda přidá dvě čísla dohromady." "" pass, pokud __name__ == '__main__': add ()

Není tu nic nového. Předchozí část podrobně vysvětluje tento kód. Přidat @ click.option volal čísla:

@ click.option ('- čísla', nargs = 2, type = int, help = "Sčítání dvou čísel dohromady.")

Jediným novým kódem jsou zde nargs = 2, a type = int možnosti. Kliknutím na toto tlačítko přijmete dvě hodnoty pro čísla a že musí být typu celých čísel. Toto můžete změnit na libovolné číslo nebo (platný) datový typ, který se vám líbí.

Nakonec změňte přidat metoda pro přijetí čísla argumentovat, a udělat nějaké zpracování s nimi:

def add (čísla): "" "Základní metoda sčítá dvě čísla dohromady." "" výsledek = čísla [0] + čísla [1] tisk (f 'čísla [0] + čísla [1] =  výsledek')

Každá hodnota, kterou předáte, je přístupná přes čísla objekt. Zde je návod, jak jej použít v příkazovém řádku:

python click_example_2.py - čísla 1 2

Klepněte na tlačítko Je řešení pro nástroje Python

Jak jste viděli, Click se snadno používá, ale je velmi výkonný. I když tyto příklady pokrývají pouze základní základy Clicku, existuje spousta dalších funkcí, o kterých se můžete nyní dozvědět, když máte solidní přehled o základech.

Pokud hledáte nějaké projekty Pythonu, kde si můžete procvičit své nově nalezené dovednosti, proč se neučit, jak ovládat Arduino s Pythonem Jak programovat a ovládat Arduino s Pythonem Jak programovat a ovládat Arduino s Pythonem Smutně je to nemožné přímo programovat Arduino v Pythonu, ale můžete jej ovládat přes USB pomocí programu Python. Zde je návod. nebo jak číst a zapisovat do Tabulek Google s Pythonem Jak číst a zapisovat do Tabulek Google s Pythonem Jak číst a zapisovat do Tabulek Google s Pythonem Python se může zdát podivný a neobvyklý, nicméně je snadné se ho naučit a používat. V tomto článku vám ukážu, jak číst a psát do Tabulek Google pomocí Pythonu. ? Každý z těchto projektů by byl ideální pro převod na Click!




07.03.24 11:58
atorvastatin 80mg uk <a href="https://lipiws.top/">buy lipitor 20mg generic</a> atorvastatin 40mg without prescription
O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.