- Pythons Module können als Kommandozeilen-Tools verwendet werden
- Wenn man zum Beispiel das Modul
webbrowser auf der Kommandozeile ausführt, kann man eine angegebene URL im Standard-Webbrowser öffnen
- Die Python-Standardbibliothek enthält viele dieser Modul-Skript-Hybride
- Wenn Python mit der Option
-m ausgeführt wird, wird das angegebene Python-Modul wie ein Skript ausgeführt
- Manche Module führen bereits beim Import bestimmte Aktionen aus; das Modul
antigravity öffnet zum Beispiel einen XKCD-Comic im Webbrowser. Führt man es auf der Kommandozeile aus, hat das denselben Effekt wie das Importieren des Moduls
- Das nennt man einen "import side effect"; die meisten Module vermeiden so etwas. Easter-Egg-Module wie
antigravity sind die Ausnahme
- Module, die Import side effects vermeiden, verwenden die Variable
__name__, um sich beim Import als Modul anders zu verhalten als beim Ausführen als Skript
Nützliche allgemeine Kommandozeilen-Tools
python -m http.server: Startet einen einfachen Webserver
python -m webbrowser: Startet einen Webbrowser
python -m json.tool: Formatiert JSON-Daten hübsch
python -m calendar: Zeigt einen Kalender auf der Kommandozeile an
Besonders nützliche Tools unter Windows
python3.12 -m uuid: Ähnlich zum CLI-Utility uuidgen
python3.12 -m sqlite3: Ähnlich zum CLI-Utility sqlite3
python -m zipfile: Ähnlich zu den CLI-Utilities zip und unzip
python -m gzip: Ähnlich zu den CLI-Utilities gzip und gunzip
python -m tarfile: Ähnlich zum CLI-Utility tar
Nützliche Tools für die Arbeit mit Python-Code
python -m pip: Installiert Python-Pakete von Drittanbietern
python -m venv: Erstellt eine virtuelle Umgebung
python -m pdb: Startet den Python-Debugger
python -m unittest: Führt unittest-Tests aus
python -m pydoc: Zeigt Dokumentation an
python -m doctest: Führt doctest für die angegebene Datei aus
python -m ensurepip: Installiert pip
python -m idlelib: Startet die grafische REPL IDLE
python -m zipapp: Wandelt ein Python-Modul in ein ausführbares ZIP um
python -m compileall: Präkompiliert Python-Dateien zu Bytecode
Tools zur Analyse von Python-Code
python -m tokenize: Zerlegt ein Python-Modul in Tokens
python -m ast: Zeigt den abstrakten Syntaxbaum von Code an
python -m dis: Disassembliert Python-Code in Bytecode
python -m inspect: Untersucht den Quellcode von Python-Objekten
python -m pyclbr: Zeigt eine Übersicht der Objekte in einem Modul
Unterhaltsame Skripte, die als Python-Easter-Eggs funktionieren
python -m __hello__: Gibt "Hello world!" aus
python -m this: Gibt The Zen of Python (PEP 20) aus
python -m antigravity: Öffnet den Python-bezogenen XKCD-Comic Nr. 353 im Webbrowser
python -m turtledemo: Zeigt eine Demo verschiedener Zeichnungen, die mit dem Modul turtle erstellt werden können
Weitere Python-bezogene Tools
python -m asyncio: Startet eine Python-REPL mit asyncio-Unterstützung
python -m cProfile: Profiliert ein Python-Programm
python -m pstats: Zeigt mit cProfile erzeugte Profilstatistiken an
python -m pickle: Zeigt den Inhalt von pickle-Dateien an (High-Level)
python -m pickletools: Zerlegt pickle-Dateien (Low-Level)
Weniger nützliche Tools
python -m timeit: Misst die Ausführungszeit von Python-Ausdrücken
python -m site: Zeigt Python-"site"-Informationen an
python -m sysconfig: Zeigt Details zur Python-Konfiguration an
python -m platform: Zeigt Informationen zur aktuellen Plattform an
python -m mimetypes: Zeigt Dateiinformationen zu MIME-Typen/Erweiterungen an
python -m quopri: Kodiert/dekodiert rohe E-Mail-Daten
python -m filecmp: Vergleicht den Inhalt von zwei Verzeichnissen
python -m tabnanny: Prüft Python-Dateien auf gemischte Verwendung von Tabs und Leerzeichen
2 Kommentare
Wow, es gibt wirklich mehr gute Funktionen, als ich gedacht hätte.
Ich erinnere mich, dass ich einmal eine ZIP-Datei in einen Linux-Server in einer abgeschotteten Netzwerkumgebung eingeschleust habe, dort aber der
unzip-Befehl fehlte, also habe ich sie mit dem Modulpython -m zipfileentpackt und dann weitergemacht.