Heim  >  Artikel  >  Backend-Entwicklung  >  Wie ändere ich die Ausgabekodierung in Python 3?

Wie ändere ich die Ausgabekodierung in Python 3?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-13 10:48:02348Durchsuche

How to Change the Output Encoding in Python 3?

Ändern der Ausgabekodierung in Python 3

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.

Lösung für Python 3.7 und höher

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

Fehlerbehandlung

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn