Die verschiedenen Kommandozeilen-Tools von Python
(pythonmorsels.com)- Pythons Module können als Kommandozeilen-Tools verwendet werden
- Wenn man zum Beispiel das Modul
webbrowserauf der Kommandozeile ausführt, kann man eine angegebene URL im Standard-Webbrowser öffnen - Die Python-Standardbibliothek enthält viele dieser Modul-Skript-Hybride
- Wenn man zum Beispiel das Modul
- Wenn Python mit der Option
-mausgefü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
antigravitysind 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
- Manche Module führen bereits beim Import bestimmte Aktionen aus; das Modul
Nützliche allgemeine Kommandozeilen-Tools
python -m http.server: Startet einen einfachen Webserverpython -m webbrowser: Startet einen Webbrowserpython -m json.tool: Formatiert JSON-Daten hübschpython -m calendar: Zeigt einen Kalender auf der Kommandozeile an
Besonders nützliche Tools unter Windows
python3.12 -m uuid: Ähnlich zum CLI-Utilityuuidgenpython3.12 -m sqlite3: Ähnlich zum CLI-Utilitysqlite3python -m zipfile: Ähnlich zu den CLI-Utilitieszipundunzippython -m gzip: Ähnlich zu den CLI-Utilitiesgzipundgunzippython -m tarfile: Ähnlich zum CLI-Utilitytar
Nützliche Tools für die Arbeit mit Python-Code
python -m pip: Installiert Python-Pakete von Drittanbieternpython -m venv: Erstellt eine virtuelle Umgebungpython -m pdb: Startet den Python-Debuggerpython -m unittest: Führtunittest-Tests auspython -m pydoc: Zeigt Dokumentation anpython -m doctest: Führtdoctestfür die angegebene Datei auspython -m ensurepip: Installiertpippython -m idlelib: Startet die grafische REPL IDLEpython -m zipapp: Wandelt ein Python-Modul in ein ausführbares ZIP umpython -m compileall: Präkompiliert Python-Dateien zu Bytecode
Tools zur Analyse von Python-Code
python -m tokenize: Zerlegt ein Python-Modul in Tokenspython -m ast: Zeigt den abstrakten Syntaxbaum von Code anpython -m dis: Disassembliert Python-Code in Bytecodepython -m inspect: Untersucht den Quellcode von Python-Objektenpython -m pyclbr: Zeigt eine Übersicht der Objekte in einem Modul
Unterhaltsame Skripte, die als Python-Easter-Eggs funktionieren
python -m __hello__: Gibt "Hello world!" auspython -m this: Gibt The Zen of Python (PEP 20) auspython -m antigravity: Öffnet den Python-bezogenen XKCD-Comic Nr. 353 im Webbrowserpython -m turtledemo: Zeigt eine Demo verschiedener Zeichnungen, die mit dem Modulturtleerstellt werden können
Weitere Python-bezogene Tools
python -m asyncio: Startet eine Python-REPL mitasyncio-Unterstützungpython -m cProfile: Profiliert ein Python-Programmpython -m pstats: Zeigt mitcProfileerzeugte Profilstatistiken anpython -m pickle: Zeigt den Inhalt vonpickle-Dateien an (High-Level)python -m pickletools: Zerlegtpickle-Dateien (Low-Level)
Weniger nützliche Tools
python -m timeit: Misst die Ausführungszeit von Python-Ausdrückenpython -m site: Zeigt Python-"site"-Informationen anpython -m sysconfig: Zeigt Details zur Python-Konfiguration anpython -m platform: Zeigt Informationen zur aktuellen Plattform anpython -m mimetypes: Zeigt Dateiinformationen zu MIME-Typen/Erweiterungen anpython -m quopri: Kodiert/dekodiert rohe E-Mail-Datenpython -m filecmp: Vergleicht den Inhalt von zwei Verzeichnissenpython -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.