409
14.1
Das Modul sys – die Schnittstelle zum Laufzeitsystem
Erläuterung:
#1: Die Komponenten des Tupels sys.version_info können auch über ihre Namen ange-
sprochen werden (
major, minor, micro, release_level, serial)
Programmlauf (mit einer aktuellen Python-Version):
14.1.2 Standardeingabe und -ausgabe
Die Variablen sys.stdin und sys.stdout enthalten File-Objekte (Pseudofiles) für die
Standardeingabe und -ausgabe des Interpreters. Eine Eingabe über die Tastatur bei einem
input()-Funktionsaufruf gelangt bei Betätigung der (Enter)-Taste zunächst in das File
sys.stdin und wird von dort aus vom Laufzeitsystem weiterverarbeitet. Das Pseudofile
sys.stdout nimmt die Ausgabe eines print()-Aufrufs auf, das Ergebnis einer Ausdruck-
anweisung sowie den Promptstring bei einem Aufruf von
input().
Den beiden Variablen
sys.stdin und sys.stdout können Sie neue Ein- und Ausgabe-
Objekte zuweisen und so die Arbeitsweise des Laufzeitsystems manipulieren. Diese neuen
Objekte können Files sein oder andere Objekte, die eine
readline()- bzw. write()-
Methode besitzen.
Das folgende Skript zeigt, wie man die Ausgabe auf ein selbst geschaffenes Ausgabe-Objekt
umleiten kann.
print('Python '+ sys.version)
if sys.version_info.major < 3: #1
print('Sie benötigen für dieses Skript eine neuere Version')
else:
print('Die Python-Version ist für dieses Skript ausreichend.')
Ihre Systemplattform ist win32
Python-Version:
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64
bit (AMD64)]
Die Python-Version ist für dieses Skript ausreichend.
>>> import sys
>>> class Sprachausgabe:
def __init__(self):
import win32com.client
self.speaker = win32com.client.Dispatch("SAPI.SpVoice")
self.stdout = sys.stdout
def write(self, text):
self.stdout.write(text) #1
self.speaker.Speak(text) #2
>>> sys.stdout = Sprachausgabe()

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.