Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Menukar Objek Bytes daripada Perintah Luaran kepada String dalam Python?

Bagaimanakah Saya Menukar Objek Bytes daripada Perintah Luaran kepada String dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-12-19 09:52:09
asal
813 orang telah melayarinya

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

Pengekodan dan Penyahkodan Bait dalam Python: Panduan Penukaran Rentetan

Objek Bytes biasanya ditemui apabila berinteraksi dengan program luaran atau mengendalikan data binari . Untuk bekerja dengan berkesan dengan mereka, penukaran kepada dan dari rentetan mungkin diperlukan. Artikel ini akan menangani masalah khusus mengenai menukar objek bait yang mengandungi output perintah luaran kepada rentetan Python biasa.

Masalah: Menukar Bait kepada Rentetan

Pertimbangkan contoh berikut daripada 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'
Salin selepas log masuk

Pembolehubah stdout mengandungi objek bait yang mewakili output bagi arahan 'ls -l'. Untuk mencetaknya dalam format yang boleh dibaca manusia, ia perlu ditukar kepada rentetan.

Penyelesaian: Menggunakan Kaedah Nyahkod

Kaedah nyahkod() digunakan untuk menukar objek bait kepada rentetan. Ia memerlukan parameter pengekodan, yang menentukan pengekodan aksara data dalam objek bait.

>>> 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
Salin selepas log masuk

Dalam contoh ini, kami menentukan 'utf-8' sebagai pengekodan kerana ia adalah pengekodan biasa untuk teks data. Walau bagaimanapun, adalah penting untuk menggunakan pengekodan yang betul untuk data khusus yang sedang diproses.

Nota:

Walaupun penyelesaian di atas berfungsi dengan baik untuk menukar objek bait yang mewakili data teks , adalah penting untuk ambil perhatian bahawa bukan semua objek bait mengandungi teks. Untuk mengendalikan data binari, teknik yang berbeza mungkin diperlukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Menukar Objek Bytes daripada Perintah Luaran kepada String dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan