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