In Python 2 war das Festlegen der Standard-Ausgabekodierung ein unkomplizierter Prozess mit sys.stdout = codecs.getwriter("utf- 8")(sys.stdout). In Python 3 schlägt diese Technik jedoch fehl, da sys.stdout.write() eine Zeichenfolge erwartet, während das Ergebnis der Codierung Bytes sind.
Für Python 3.7 und später kann die reconfigure()-Methode verwendet werden, um die Kodierung von Standard-Streams zu ändern, einschließlich sys.stdout.
sys.stdout.reconfigure(encoding='utf-8')
Dadurch wird die Kodierung für sys.stdout auf UTF-8 festgelegt, sodass Sie Zeichen in dieser Kodierung ausgeben können.
# Example sys.stdout.reconfigure(encoding='utf-8') print("Hello World") # Output: Hello World
Sie können auch angeben, wie Codierungsfehler behandelt werden, indem Sie einen Fehlerparameter zu reconfigure() hinzufügen. Das folgende Beispiel zeigt, wie Fehler mithilfe der Ersetzungsstrategie behandelt werden:
sys.stdout.reconfigure(encoding='utf-8', errors='replace')
Mit dieser Einstellung werden alle Unicode-Zeichen, die nicht codiert werden können, durch ein bestimmtes Ersatzzeichen (normalerweise ein Fragezeichen) ersetzt.
Das obige ist der detaillierte Inhalt vonWie ändere ich die Ausgabekodierung in Python 3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!