Python sys-Modul

sysist ein Modul in der Python-Standardbibliothek, das Funktionen für die Interaktion mit dem Python-Interpreter und seiner Umgebung bereitstellt.

Durchsysder Bibliothek können Sie auf Variablen und Funktionen zugreifen, die mit dem Python-Interpreter zusammenhängen, wie Kommandozeilenargumente, Standardeingabe/-ausgabe, Programmbeendigung usw.

sys-Bibliothek importieren

Umsysdie Bibliothek, müssen Sie sie zuerst importieren. Die Importmethode ist wie folgt:

import sys

Beispiel

import sys

# Alle Attribute und Methoden des os-Moduls auflisten
print(dir(os))

Gängige Funktionen der sys-Bibliothek

1. Kommandozeilenargumente

sys.argvist eine Liste, die Kommandozeilenargumente enthält.sys.argv[0]ist der Skriptname, und die nachfolgenden Elemente sind Argumente, die an das Skript übergeben werden.

Beispielcode:

Beispiel

import sys

print("Skriptname:", sys.argv[0])
print("Argumentliste:", sys.argv[1:])

So führen Sie aus:

python script.py arg1 arg2

Ausgabe:

脚本名称: script.py
参数列表: ['arg1', 'arg2']

2. Beenden des Programms

sys.exit()Wird verwendet, um das Programm zu beenden. Sie können eine Ganzzahl als Exit-Statuscode übergeben; normalerweise0zeigt Erfolg an, während Werte ungleich null Fehler anzeigen.

Beispielcode:

Beispiel

import sys

print("Programmstart")
sys.exit(0)
print("Diese Codezeile wird nicht ausgeführt")

3. Standardeingabe/-ausgabe

sys.stdin、sys.stdoutundsys.stderrstehen für Standardeingabe, Standardausgabe bzw. Standardfehler-Streams. Sie können diese Streams umleiten, um das Eingabe-/Ausgabeverhalten anzupassen.

Beispielcode:

Beispiel

import sys

# Standardausgabe in eine Datei umleiten
with open('output.txt', 'w') as f:
    sys.stdout = f
    print("Diese Zeile wird in output.txt geschrieben")

# Standardausgabe wiederherstellen
sys.stdout = sys.__stdout__
print("Diese Zeile wird in der Konsole angezeigt")

4. Python-Versionsinformationen

sys.versionundsys.version_infoliefert Versionsinformationen des aktuellen Python-Interpreters.

Beispielcode:

Beispiel

import sys

print("Python-Version:", sys.version)
print("Versionsinfo:", sys.version_info)

Ausgabe:

<code>Python 版本: 3.9.7 (default, Aug 31 2021, 13:28:12) 
[GCC 7.5.0]
版本信息: sys.version_info(major=3, minor=9, micro=7, releaselevel=&#39;final&#39;, serial=0)
</code>

5. Modulsuchpfad

sys.pathist eine Liste, die die Pfade enthält, die der Python-Interpreter beim Importieren von Modulen durchsucht. Sie können diese Liste ändern, um benutzerdefinierte Modulsuchpfade hinzuzufügen.

Beispielcode:

Beispiel

import sys

print("Modulsuchpfad:", sys.path)
sys.path.append('/custom/path')
print("Aktualisierter Modulsuchpfad:", sys.path)

Gängige Attribute des sys-Moduls

AttributeBeschreibung
sys.argvBefehlszeilenargumentliste,sys.argv[0]ist der Skriptname
sys.pathPython-Modulsuchpfad (PYTHONPATH)
sys.modulesWörterbuch der geladenen Module
sys.platformBezeichner der Betriebssystemplattform (z. B.,'win32', 'linux', 'darwin')
sys.versionVersionsinformationen des Python-Interpreters
sys.executableAbsoluter Pfad des Python-Interpreters
sys.stdinStandard-Eingabestream (Dateiobjekt)
sys.stdoutStandard-Ausgabestream (Dateiobjekt)
sys.stderrStandard-Fehlerstream (Dateiobjekt)
sys.byteorderByte-Reihenfolge ('little'oder'big')
sys.maxsizeMaximaler Ganzzahlwert (2**31-1oder2**63-1)

Häufige Methoden des sys-Moduls

MethodeBeschreibung
sys.exit([status])Programm beenden,status=0zeigt normales Beenden an
sys.getsizeof(obj)gibt die vom Objekt belegte Speichergröße in Bytes zurück
sys.getdefaultencoding()Standard-Zeichenkettenkodierung abrufen (normalerweise'utf-8')
sys.setrecursionlimit(limit)Rekursionstiefenlimit festlegen (Standard1000)
sys.getrecursionlimit()aktuelles Rekursionstiefenlimit abrufen
sys.getrefcount(obj)gibt die Referenzanzahl des Objekts zurück
sys.exc_info()aktuelle Ausnahmeinformationen abrufen ((type, value, traceback))
sys.settrace(tracefunc)Debug-Tracing-Funktion festlegen
sys.setprofile(profilefunc)Profiling-Funktion festlegen
Weitere Erweiterungen