Heim > Backend-Entwicklung > Python-Tutorial > Wie konvertiere ich ein Bytes-Objekt in einen String in Python 3?

Wie konvertiere ich ein Bytes-Objekt in einen String in Python 3?

DDD
Freigeben: 2024-12-26 02:49:11
Original
624 Leute haben es durchsucht

How Do I Convert a Bytes Object to a String in Python 3?

Konvertieren von Bytes in einen String in Python 3

Problem:

Sie haben das erfasst Standardausgabe eines externen Programms in ein Bytes-Objekt und muss es als Zeichenfolge anzeigen. Zum Beispiel:

import subprocess
p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
stdout, _ = p.communicate()
Nach dem Login kopieren

Dies führt zu einem Byte-Objekt wie:

b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1\n' 
Nach dem Login kopieren

Ihr Ziel ist es, dieses Byte-Objekt in einen Standard-Python-String umzuwandeln.

Lösung:

Um ein Byte-Objekt stdout in einen String in Python 3 zu konvertieren, verwenden Sie die decode()-Methode. Diese Methode verwendet die Codierung des Bytes-Objekts als Argument. So geht's:

decoded_stdout = stdout.decode("encoding")
Nach dem Login kopieren

Kodierung auswählen:

Der Kodierungsparameter gibt den Zeichensatz an, der zum Dekodieren der Bytes verwendet wird. Im angegebenen Beispiel wird UTF-8 als Standardkodierung angenommen. Es ist jedoch wichtig, die tatsächliche Kodierung Ihrer Daten zu verwenden.

Wenn Sie die Kodierung nicht kennen, können Sie es mit „utf-8“ versuchen. Alternativ können Sie eine Bibliothek wie chardet verwenden, um die Kodierung automatisch zu erkennen.

Beispiel:

Verwendung von UTF-8 als angenommene Kodierung:

decoded_stdout = stdout.decode("utf-8")
Nach dem Login kopieren

Sie können jetzt Ihre dekodierte Zeichenfolge ausdrucken:

print(decoded_stdout) 
# Output:
# -rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein Bytes-Objekt in einen String in Python 3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage