Erstellen Sie einfach eine Python-Konsolenanwendung mit Click

Wenn Sie ein Python-Programm erstellen möchten, das über die Befehlszeile ausgeführt werden kann, verwenden Sie häufig "argparse" oder "optparse", um die Befehlszeilenargumente zu verarbeiten.

Die Bibliothek Click ist praktisch, da Sie einfach eine Konsolenanwendung erstellen können, indem Sie einfach eine Funktion mit einem Dekorator umschließen.

Versuchen wir eine einfache Implementierung, um die URL zu erhalten.

http_fetcher.py


import click
import requests

@click.command()
@click.argument('url')
def fetch(url):
    click.echo(requests.get(url).text.encode('utf-8'))

if __name__ == '__main__':
    fetch()
% python http_fetcher.py http://www.qiita.com/
<!DOCTYPE html>...

Wenn Sie ein Argument mit * -o * angeben, wird es in die Datei geschrieben.

http_fetcher2.py


import click
import requests
import sys

@click.command()
@click.argument('url')
@click.option('-o', '--out-file', type=click.File('w'))
def fetch(url, out_file):
    if not out_file:
        out_file = sys.stdout
    click.echo(requests.get(url).text.encode('utf-8'), file=out_file)

if __name__ == '__main__':
    fetch()
% python http_fetcher2.py -o index.html http://qiita.com
% cat index.html
<!DOCTYPE html>...

Dies ist praktisch, da Click die Datei automatisch öffnet und als Dateiobjekt zurückgibt.

Es gibt viele andere nette Funktionen wie Befehlsgruppierung und Fortschrittsbalkenanzeige. Das Dokument ist hier.

Recommended Posts

Erstellen Sie einfach eine Python-Konsolenanwendung mit Click
Sie können auch mit Python problemlos eine GUI erstellen
Erstellen Sie ein Verzeichnis mit Python
Warum nicht einfach mit Python eine stilvolle Tabelle erstellen?
Implementieren Sie einfach Unterbefehle mit Python-Klick
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen Sie mit Class einen Python-Funktionsdekorator
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen wir mit Python eine kostenlose Gruppe
[Python] Eine schnelle Webanwendung mit Bottle!
Erstellen Sie mit Python 3.4 einen Worthäufigkeitszähler
Führen Sie eine Python-Webanwendung mit Docker aus
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Erstellen Sie ein Python-Modul
Erstellen Sie eine virtuelle Umgebung mit conda in Python
[Hinweis] Erstellen Sie mit Python eine einzeilige Zeitzonenklasse
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Erstellen Sie eine Farbleiste mit Python + Qt (PySide)
Schritte zum Erstellen eines Twitter-Bots mit Python
Machen Sie einfach einen Piepton mit Python
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Erstellen Sie mit Python + Qt (PySide) ein farbspezifisches Widget.
Erstellen Sie mit Django eine Hallo-Welt-Anwendung mit nur einer Datei
Erstellen Sie mit Python eine Datei im Photoshop-Format (.psd)
[Python] Generieren Sie ValueObject mit dem vollständigen Konstruktor mithilfe von Datenklassen
Erstellen Sie eine Python-Entwicklungsumgebung mit Vagrant + Ansible + Fabric
Starten Sie mit Docker eine Python-Webanwendung auf Nginx + Gunicorn
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
Erstellen Sie in Docker eine Ebene für AWS Lambda Python
[Python] Erstellen Sie mit np.arange ein Datumsarray mit beliebigen Inkrementen
Ein Memo zum Erstellen einer Django (Python) -Anwendung mit Docker
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
[Python] Erstellen Sie mit cx_Freeze eine Verteilungsdatei für das Tkinter-Programm
Erstellen Sie mit Quarry einen gefälschten Minecraft-Server in Python
Erstellen Sie eine 2D-CAD-Datei ".dxf" mit Python [ezdxf]
Erstellen Sie ein Wox-Plugin (Python)
Mit Python mit Kelch ganz einfach ohne Server
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie eine Homepage mit Django
Erstellen Sie ein Python-Numpy-Array
Machen Sie eine Lotterie mit Python
Webanwendung mit Python + Flask ② ③
Einfach cProfile mit einem Dekorateur
Webanwendung mit Python + Flask ④
Erstellen Sie eine Web-App, die Zahlen mit einem neuronalen Netzwerk erkennt
[Python] Erstellen Sie mit tkinter einen Bildschirm zur Datei- und Ordnerpfadspezifikation
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
Erstellen Sie einen Mastodon-Bot mit einer Funktion, die automatisch mit Python antwortet
Erstellen Sie ein untergeordnetes Konto für die Verbindung mit Stripe in Python
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
Lassen Sie uns ein PRML-Diagramm mit Python, Numpy und matplotlib erstellen.
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
Erstellen Sie einen Twitter-BOT mit dem GoogleAppEngine SDK für Python
Erstellen Sie mit python wxpython + openCV ein einfaches Videoanalysetool
So einfach wie möglich eine GUI mit Python erstellen [tkinter edition]