Klicka och Python: Utveckla CLI-appar med Real Python
- Klicka och Python: Utveckla CLI-appar med Real Python
- Vad är CLI-appar?
- Fördelar med att använda Python för CLI-utveckling
- Installera nödvändiga verktyg
- Grunderna för att skapa en enkel CLI-applikation
- Använda argument och alternativ i CLI-appar
- Förbättra användarupplevelsen med hjälp av färger och formattering
- Exempelprojekt: Bygga en uppgiftshanterare
- Avancerade funktioner för CLI-verktyg
- Testning och felsökning av din CLI-applikation
- Avslutande tankar och resurser för vidare lärande
Klicka och Python: Utveckla CLI-appar med Real Python
Att utveckla CLI-appar (Command Line Interface-applikationer) har blivit en populär aktivitet bland programmerare och utvecklare. Med hjälp av Python kan du snabbt och enkelt skapa kraftfulla och användarvänliga klicka på ansökan som kan köras från kommandoraden. I denna artikel kommer vi att gå igenom de viktigaste stegen i att bygga CLI-appar med hjälp av Real Python och ge dig alla verktyg och kunskaper som behövs för att lyckas.
Denna artikel är avsedd för både nybörjare och mer erfarna utvecklare som vill omfamna CLI-utveckling med Python. Vi kommer att titta på många användbara verktyg och strategier för att skapa och testa dina CLI-applikationer samt ge praktiska exempel för att göra koncepten lättare att förstå. Så häng med när vi dyker ner i den spännande världen av CLI-utveckling och lär oss hur vi kan använda Real Python för att skapa fantastiska klicka på ansökan.
CLI-appar är program som tillåter användare att interagera med datorer genom kommandon skrivna i ett textgränssnitt. Med Python kan du skapa dessa applikationer enkelt tack vare dess tydliga syntax och kraftfulla biblioteksstöd. Denna artikel kommer att utforska hur vi kan effektivt utveckla en klicka på ansökan för att uppnå våra mål.
Vad är CLI-appar?
CLI-appar är programvara som tillåter användare att utföra uppgifter och kommunicera med operativsystemet genom att skriva kommandon. Istället för att använda grafiska användargränssnitt (GUI), vilket innebär att användare klickar på alternativ, så skriver man in textkommandon för att styra applikationen. Detta ger ofta större kontroll och hastighet för erfarna användare.
Fördelar med att använda Python för CLI-utveckling
Det finns många fördelar med att använda Python för att utveckla CLI-appar. För det första är Python ett kraftfullt och lättlärt språk som har ett stort ekosystem av bibliotek. Detta gör det möjligt att snabbt få tillgång till funktionalitet som att hantera filer, nätverkskommunikation och mer. Dessutom, med bibliotek som argparse, click, och rich, kan utvecklare skapa interaktiva och dynamiska kommandoradsapplikationer med minimal ansträngning.
Installera nödvändiga verktyg
Innan vi börjar utveckla vår CLI-applikation är det viktigt att installera alla nödvändiga verktyg. Först och främst behöver vi ha Python installerat. Om du inte redan har det, kan du ladda ner den senaste versionen från Python officiella hemsida. Efter installationen kan vi använda pip för att installera de bibliotek som vi kommer att nyttja under utvecklingen:
- argparse - för att hantera kommandoradsargument
- click - för att bygga kommandoradsverktyg
- rich - för att skapa vackra och visuellt tilltalande utdata
Du kan installera dessa bibliotek genom att köra följande kommando i din terminal:
pip install argparse click rich
Grunderna för att skapa en enkel CLI-applikation
Låt oss börja med att skapa en enkel CLI-applikation med Python. Här kommer vi att skapa en applikation som skriver ut "Hej, världen!" när man kör den från kommandoraden. Skapa en fil med namnet hello.py och skriv följande kod:
def main():
print("Hej, världen!")
if __name__ == "__main__":
main()
För att köra programmet öppnar du terminalen och navigerar till platsen där du sparade hello.py. Skriv sedan python hello.py och tryck på Enter. Du bör nu se meddelandet "Hej, världen!" i terminalen.
Använda argument och alternativ i CLI-appar
Nu när vi har en grundläggande app låt oss lägga till möjligheten att ta emot kommandoradsargument. Med hjälp av argparse kan vi enkelt hantera dessa argument. Vi kan modifiera vår hello.py fil som följer:
import argparse
def main(name):
print(f"Hej, {name}!")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Hälsar en användare.")
parser.add_argument("name", help="Namnet på användaren")
args = parser.parse_args()
main(args.name)
Nu kan du köra programmet med ett namn som argument, till exempel python hello.py Kalle. Utdata kommer att vara "Hej, Kalle!".
Förbättra användarupplevelsen med hjälp av färger och formattering
För att göra vår CLI-applikation mer användarvänlig kan vi använda rich för att lägga till färger och formattering av utdata. Låt oss justera vår kod så här:
from rich.console import Console
import argparse
console = Console()
def main(name):
console.print(f"Hej, [bold magenta]{name}[/bold magenta]!", style="bold green")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Hälsar en användare.")
parser.add_argument("name", help="Namnet på användaren")
args = parser.parse_args()
main(args.name)
Nu när du kör programmet kommer namnet att visas i färg, vilket ger en mer attraktiv och engagerande upplevelse för användaren.
Exempelprojekt: Bygga en uppgiftshanterare
Låt oss nu ta vår kunskap och bygga ett mer omfattande projekt – en enkel uppgiftshanterare. Denna applikation kommer att låta användare lägga till, visa och ta bort uppgifter. Vi börjar med att skapa en fil som vi kallar task_manager.py.
import argparse
import json
from rich.console import Console
console = Console()
def load_tasks():
try:
with open('tasks.json', 'r') as f:
return json.load(f)
except FileNotFoundError:
return []
def save_tasks(tasks):
with open('tasks.json', 'w') as f:
json.dump(tasks, f)
def add_task(task):
tasks = load_tasks()
tasks.append(task)
save_tasks(tasks)
def list_tasks():
tasks = load_tasks()
if tasks:
console.print("Uppgifter:", style="bold blue")
for i, task in enumerate(tasks, start=1):
console.print(f"{i}. {task}")
else:
console.print("Inga uppgifter hittades.")
def remove_task(index):
tasks = load_tasks()
if index < 1 or index > len(tasks):
console.print("Ogiltig uppgift!")
return
tasks.pop(index - 1)
save_tasks(tasks)
def main():
parser = argparse.ArgumentParser(description="Uppgiftshanterare.")
subparsers = parser.add_subparsers(dest='command')
# Add subcommand
add_parser = subparsers.add_parser('add', help="Lägg till en uppgift")
add_parser.add_argument('task', help="Uppgift att lägga till")
# List subcommand
subparsers.add_parser('list', help="Lista alla uppgifter")
# Remove subcommand
remove_parser = subparsers.add_parser('remove', help="Ta bort en uppgift")
remove_parser.add_argument('index', type=int, help="Uppgiftens nummer")
args = parser.parse_args()
if args.command == 'add':
add_task(args.task)
console.print(f"Lade till uppgiften: [bold green]{args.task}[/bold green]")
elif args.command == 'list':
list_tasks()
elif args.command == 'remove':
remove_task(args.index)
if __name__ == "__main__":
main()
Med denna kod kan du nu hantera uppgifter från kommandoraden! Du kan lägga till en uppgift med kommandot: python task_manager.py add "Din uppgift". För att lista uppgifter, använd: python task_manager.py list, och för att ta bort en uppgift, skriv: python task_manager.py remove 1, där "1" är uppgiftens nummer i listan.
Avancerade funktioner för CLI-verktyg
Nu när vi har en grundläggande uppgiftshanterare kan vi överväga att lägga till mer avancerade funktioner. Till exempel, låt oss lägga till möjligheten att markera en uppgift som färdig, eller kanske implementera filtrering av uppgifter. Vi kan också överväga att använda en databas som SQLite för att lagra våra uppgifter istället för JSON-filer, vilket skulle ge oss mer flexibilitet och funktionalitet.
Testning och felsökning av din CLI-applikation
Innan vi avslutar är det viktigt att testa och felsöka vår CLI-applikation. Att skriva tester för CLI-appar kan vara utmanande, men vi kan använda unittest och unittest.mock för att förenkla processen. Genom att skapa en uppsättning tester kan vi säkerställa att våra kommandon fungerar som de ska och att applikationen beter sig förutsägbart.
import unittest
from task_manager import load_tasks, save_tasks
class TestTaskManager(unittest.TestCase):
def test_load_tasks_empty(self):
self.assertEqual(load_tasks(), [])
def test_save_tasks(self):
save_tasks(['Test task'])
self.assertEqual(load_tasks(), ['Test task'])
if __name__ == '__main__':
unittest.main()
Genom att köra dessa tester kan vi snabbt identifiera eventuella problem och åtgärda dem innan vi tar vår applikation i produktion.
Avslutande tankar och resurser för vidare lärande
I denna artikel har vi tittat på hur man utvecklar CLI-appar med hjälp av Python. Vi har diskuterat grunderna, hur man hanterar kommandoradsargument, hur man skapar en uppgiftshanterare och hur man testar och felsöker vår kod. Om du vill fördjupa dig ytterligare i denna praxis, rekommenderar vi att du besöker Real Python och kollar in deras resurser och guider.
Med detta sagt, nu är det dags för dig att ta steget och börja utforska CLI-utveckling på egen hand. Använd de verktyg och tekniker vi har pratat om här för att skapa fantastiska klicka på ansökan med Python. Vi ser fram emot att se vad du kommer att åstadkomma!
Glöm inte bort att dela dina framsteg på GitHub klicka. Det är ett utmärkt sätt att visa din kod och få feedback från andra utvecklare. Lycka till och ha kul med dina CLI-projekt!
Tack för att du läste vår artikel, du kan se alla artiklar i våra webbkartor eller i Sitemaps
Tyckte du att den här artikeln var användbar? Klicka och Python: Utveckla CLI-appar med Real Python Du kan se mer här Elektronik.Tack för att du läser innehållet i Maker Electronics
Leave a Reply
Se mer relaterat innehåll