So erstellen Sie eine CLI mit Python Fire unter Ubuntu 22.04

Einleitung

Eine Kommandozeilen-Schnittstelle (CLI) bietet eine textbasierte Methode, um mit einem Computersystem oder einer Anwendung zu interagieren. Mit der Python-Bibliothek Fire können Sie auf unkomplizierte Weise CLIs erstellen, die sowohl benutzerfreundlich als auch leistungsstark sind. In diesem Leitfaden zeigen wir Ihnen Schritt für Schritt, wie Sie eine CLI unter Ubuntu 22.04 mithilfe von Python Fire entwickeln.

Installation von Python Fire

Beginnen Sie, indem Sie Python Fire auf Ihrem System installieren:

bash
pip install fire

Erstellung einer einfachen CLI

Erzeugen Sie eine neue Python-Datei mit dem Namen cli_example.py und dem folgenden Inhalt:

python
import fire

class CLI:
def hello(self, name):
„““Begrüßt eine Person“““
print(f“Hallo {name}!“)

cli = CLI()

fire.Fire(cli)

Ausführung der CLI

Führen Sie die CLI mit folgendem Befehl aus:

bash
python cli_example.py hello Welt

Dies wird die folgende Ausgabe produzieren:


Hallo Welt!

Hinzufügen von Optionen und Argumenten

Sie können Optionen und Argumente zu Ihrer CLI hinzufügen, um ihre Flexibilität zu erhöhen. Ändern Sie Ihre cli_example.py-Datei wie folgt:

python
import fire

class CLI:
def hello(self, name, times=1):
„““Begrüßt eine Person

Args:
name (str): Name der Person
times (int): Anzahl der Begrüßungen (optional, Standardwert ist 1)
„““
for i in range(times):
print(f“Hallo {name}!“)

cli = CLI()

fire.Fire(cli)

Ihre CLI kann nun wie folgt ausgeführt werden:

bash
python cli_example.py hello Welt --times 3

Dies führt zu folgender Ausgabe:


Hallo Welt!
Hallo Welt!
Hallo Welt!

Einführung von Unterbefehlen

Python Fire ermöglicht das Erstellen von Unterbefehlen, um bestimmte Funktionen Ihrer CLI zu bündeln. Fügen Sie Ihrer cli_example.py-Datei folgenden Code hinzu:

python
import fire

class CLI:
def hello(self, name, times=1):
„““Begrüßt eine Person

Args:
name (str): Name der Person
times (int): Anzahl der Begrüßungen (optional, Standardwert ist 1)
„““
for i in range(times):
print(f“Hallo {name}!“)

def goodbye(self, name):
„““Verabschiedet eine Person

Args:
name (str): Name der Person
„““
print(f“Auf Wiedersehen {name}!“)

cli = CLI()

fire.Fire(cli)

Führen Sie Ihre CLI mit dem Unterbefehl goodbye aus:

bash
python cli_example.py goodbye Welt

Dies wird die folgende Ausgabe erzeugen:


Auf Wiedersehen Welt!

Um Hilfe zu einem spezifischen Befehl zu erhalten, fügen Sie die Option --help hinzu:

bash
python cli_example.py hello --help

Fazit

In dieser Anleitung haben Sie gelernt, wie Sie eine Kommandozeilen-Schnittstelle mit Python Fire unter Ubuntu 22.04 erstellen. Sie haben die Grundlagen der CLI-Erstellung, das Hinzufügen von Optionen und Argumenten sowie die Verwendung von Unterbefehlen kennengelernt. Python Fire bietet eine intuitive und effektive Methode zur Entwicklung von CLIs, um die Interaktion mit Ihren Anwendungen und Skripten zu vereinfachen.

Häufig gestellte Fragen

1. Welchen Nutzen hat Python Fire bei der CLI-Entwicklung?
Python Fire vereinfacht die CLI-Erstellung erheblich, indem es ermöglicht, mit nur wenigen Zeilen Code CLIs zu entwickeln.

2. Kann ich Python Fire verwenden, um komplexe CLIs mit mehreren Unterbefehlen zu erstellen?
Ja, Python Fire unterstützt die Erstellung von verschachtelten Unterbefehlen und ermöglicht so die Erstellung komplexer CLI-Hierarchien.

3. Wie kann ich eine Befehlshistorie in meiner CLI implementieren?
Sie können das Python-Modul readline verwenden, um eine Befehlshistorie in Ihrer CLI zu implementieren.

4. Gibt es Möglichkeiten, die Darstellung von Hilfemeldungen in meiner CLI zu optimieren?
Ja, Sie können Fire-Dekoratoren wie @flagutils.Flag und @flagutils.Command verwenden, um die Darstellung von Hilfemeldungen zu verbessern.

5. Kann ich Python Fire verwenden, um Webservices in meine CLI zu integrieren?
Ja, Sie können das Python-Modul requests verwenden, um HTTP-Anfragen aus Ihrer CLI an Webservices zu senden.

6. Wie kann ich meine CLI in eine Continuous Integration/Continuous Delivery (CI/CD)-Pipeline integrieren?
Sie können Ihre CLI in eine CI/CD-Pipeline integrieren, indem Sie Skripte schreiben, die die Tests und die Bereitstellung Ihrer CLI automatisieren.

7. Gibt es bewährte Methoden für die Entwicklung von CLIs mit Python Fire?
Ja, es wird empfohlen, eine klare CLI-Struktur zu entwerfen, aussagekräftige Befehls- und Optionsnamen zu verwenden und eine umfangreiche Dokumentation bereitzustellen.

8. Kann ich Python Fire verwenden, um CLIs für Windows- oder MacOS-Systeme zu entwickeln?
Ja, Python Fire ist plattformübergreifend und kann zur Entwicklung von CLIs für verschiedene Betriebssysteme eingesetzt werden.