Gunakan decode()
dengan benar:baik dalam dua langkah (jika Anda ingin menggunakan kembali blah
):
blah = blah.decode()
splitblah = blah.split("\n")
# other code that uses blah
atau sebaris (jika Anda membutuhkannya untuk sekali pakai):
splitblah = blah.decode().split("\n")
Masalah Anda dalam menggunakan decode()
adalah bahwa Anda tidak menggunakan nilai pengembaliannya. Perhatikan bahwa decode()
tidak tidak ubah objek (blah
) untuk menetapkan atau meneruskannya ke sesuatu:
# WRONG!
blah.decode()
LIHAT JUGA:
decode
dokumen.
Jika pertanyaan Anda bermuara pada ini:
Saya sudah mencoba menggunakan decode dan encode tetapi saya masih berteriak bahwa metode split tidak dapat menggunakan tipe data.
Kesalahan yang ada dapat ditunjukkan dengan kode berikut:
>>> blah = b'hello world' # the "bytes" produced by check_output
>>> blah.split('\n')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: a bytes-like object is required, not 'str'
Untuk membagi bytes
, sebuah bytes
objek juga harus disediakan. Cara mengatasinya sederhana:
>>> blah.split(b'\n')
[b'hello world']
Mengurai rahasia dari pengelola rahasia AWS menggunakan AWS cli
Membunuh subproses yang dimulai sudo dengan python