Heim > Backend-Entwicklung > Python-Tutorial > Wie konvertiere ich Bytes-Objekte von externen Befehlen in Strings in Python?

Wie konvertiere ich Bytes-Objekte von externen Befehlen in Strings in Python?

Mary-Kate Olsen
Freigeben: 2024-12-19 09:52:09
Original
801 Leute haben es durchsucht

How Do I Convert Bytes Objects from External Commands to Strings in Python?

Codieren und Decodieren von Bytes in Python: Eine Anleitung zur String-Konvertierung

Bytes-Objekte werden häufig bei der Interaktion mit externen Programmen oder beim Umgang mit Binärdaten angetroffen . Um effektiv mit ihnen arbeiten zu können, ist möglicherweise eine Konvertierung in und aus Strings erforderlich. In diesem Artikel wird ein spezifisches Problem bei der Konvertierung eines Bytes-Objekts, das die Ausgabe eines externen Befehls enthält, in einen regulären Python-String behandelt.

Das Problem: Bytes in String konvertieren

Betrachten Sie das folgende Beispiel aus Python 3:

>>> from subprocess import *
>>> stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0]
>>> stdout
b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file2\n'
Nach dem Login kopieren

Die stdout-Variable enthält ein Bytes-Objekt, das die Ausgabe von „ls -l“ darstellt. Befehl. Um es in einem für Menschen lesbaren Format zu drucken, muss es in eine Zeichenfolge konvertiert werden.

Lösung: Verwendung der Decode-Methode

Die Methode decode() wird verwendet um ein Byte-Objekt in einen String umzuwandeln. Es benötigt einen Kodierungsparameter, der die Zeichenkodierung der Daten im Byteobjekt angibt.

>>> stdout_str = stdout.decode('utf-8')
>>> print(stdout_str)
-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1
-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file2
Nach dem Login kopieren

In diesem Beispiel geben wir „utf-8“ als Kodierung an, da es sich um eine übliche Kodierung für Text handelt Daten. Es ist jedoch wichtig, die richtige Codierung für die spezifischen zu verarbeitenden Daten zu verwenden.

Hinweis:

Während sich die obige Lösung gut für die Konvertierung von Byte-Objekten eignet, die Textdaten darstellen , ist es wichtig zu beachten, dass nicht alle Bytes-Objekte Text enthalten. Für den Umgang mit Binärdaten sind möglicherweise unterschiedliche Techniken erforderlich.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Bytes-Objekte von externen Befehlen in Strings in Python?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage