Python Sys Modul
Das sys-Modul bietet Zugriff auf Laufzeitdetails von Python wie Kommandozeilenargumente, den Importpfad und die aktuelle Interpreter-Version.
import sys
Verwende sys, wenn dein Code mit dem Python-Interpreter selbst sprechen muss und nicht nur mit deinen eigenen Anwendungsobjekten.
Kommandozeilenargumente
sys.argv ist eine Liste von Argumenten, die an das aktuelle Skript übergeben werden.
import sys
sys.argv = ['main.py', '--debug', 'app']
print(sys.argv[0])
print(sys.argv[1:])
main.py
['--debug', 'app']
Für echte Kommandozeilenanwendungen solltest du argparse bevorzugen. Es baut auf derselben Idee auf, liefert aber Validierung und Hilfetexte.
Python-Version
import sys
print(sys.version_info.major)
print(sys.version_info.minor)
3
14
Importsuchpfad
sys.path steuert, wo Python nach Modulen sucht.
import sys
print(type(sys.path).__name__)
print(len(sys.path) > 0)
list
True
Die ersten Einträge in sys.path enthalten normalerweise dein aktuelles Projekt, weshalb lokale Module importiert werden können.
Standard-Ein- und Ausgabe
sys.stdin, sys.stdout und sys.stderr sind dateiähnliche Objekte, die der Interpreter verwendet.
import sys
print(sys.stdout.writable())
print(sys.stderr.writable())
True
True
Ein Programm beenden
import sys
try:
sys.exit(0)
except SystemExit as exc:
print(exc.code)
0