- Die Python-Standardbibliothek enthält versteckte CLI-Tools, die sich im Terminal ausführen lassen
- So lässt sich zum Beispiel
gzip mit python -m gzip --decompress pypi.db.gz nutzen
- Der Grund: Wenn ein Python-Modul einen
if __name__ == "__main__"-Block hat, kann es mit python -m Modulname ausgeführt werden
- Einige der Module, die sich so nutzen lassen
python -m http.server 8001
python -m asyncio ermöglicht Top-Level-await in der Python-Konsole
python -m tokenize cgi.py | head -n 10 Debug-Modus für den Python-Tokenizer
python -m ast cgi.py | head -n 10 AST-Debug-Modus
python -m json.tool kann JSON formatiert ausgeben
python -m nntplib zeigt standardmäßig die neuesten Beiträge der Newsgroup gmane.comp.python.general an (leider sind andere Gruppen nicht möglich)
python -m calendar gibt den Kalender des aktuellen Jahres aus, mit -t html ist auch HTML-Ausgabe möglich
- Darüber hinaus sind in der Python-Standardbibliothek noch viele weitere großartige kleine Tools versteckt
3 Kommentare
Den Webserver nutze ich sehr praktisch. Wenn man bei uns in der Firma Dateien per scp verschiebt, wird stark gedrosselt (wohl aus Sicherheitsgründen;;;), und auch der Samba-Zugriff ist extrem langsam ... Wenn ich große Dateien herunterladen muss, nehme ich den Python-Webserver ...
python -m base64:echo "test string" | python -m base64 -e | python -m base64 -dpython -m imghdr IMAGE_FILENAMEpython -m sndhdr SOUND_FILENAMEpython -m inspect PYTHON_PKGManchmal ist man irgendwann doch froh darüber.
Hacker-News-Kommentar
re.Scanner-Tool der Python-Standardbibliothek ist ein auf regulären Ausdrücken basierender Tokenizer, der in der offiziellen Dokumentation fehlt.if __name__ == "__main__":kann ein Modul als einzelne *.py-Datei ausgeführt werden.zipfilekann auf der Kommandozeile zum Entpacken und Komprimieren von ZIP-Dateien verwendet werden.json.toolkann auf der Kommandozeile zum formatierten Ausgeben von JSON verwendet werden.http.serverist nützlich, um Dateien im lokalen Netzwerk zu teilen.