Schrijven naar standaardfout

Python:
Schrijven naar standaardfout

Hoe te:

Om naar stderr in Python te schrijven:

import sys

print("Dit is een normaal bericht.")
sys.stderr.write("Dit is een foutmelding.\n")

Voorbeelduitvoer:

Dit is een normaal bericht.
Dit is een foutmelding.

Merk op dat terwijl print() standaard een nieuwe regel toevoegt, sys.stderr.write() dat niet doet - je moet \n toevoegen om een nieuwe regel te beginnen.

Diepgaande verkenning

Historisch gezien werden standaardstromen geïntroduceerd in Unix. Er zijn er drie: standaardinvoer (stdin), standaarduitvoer (stdout) en standaardfout (stderr). In Python biedt de sys-module toegang tot deze stromen. Terwijl stdout typisch wordt gebruikt voor de hoofduitvoer van een programma, is stderr gereserveerd voor foutmeldingen en diagnostiek.

Alternatieven voor sys.stderr.write() omvatten het gebruik van print() met het file-argument:

print("Dit is een foutmelding.", file=sys.stderr)

Dit presteert vergelijkbaar, maar maakt gebruik van de gebruiksvriendelijke functies van print(). Wat interne mechanica betreft, maken beide methoden uiteindelijk systeemniveau schrijfoproepen naar de respectievelijke stroom.

Zie ook