Я преобразовал стандартный вывод внешней программы в bytes объект:
>>> 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'
Я хочу преобразовать это в обычную строку Python, чтобы я мог распечатать ее следующим образом:
>>> print(stdout) -rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1 -rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2
Как мне преобразовать bytes объект в str с помощью Python 3?
В приведенном выше примере предполагается, что bytes объект находится в UTF-8, потому что это обычная кодировка. Однако вы должны использовать кодировку, в которой на самом деле находятся ваши данные!
Ответ 2
Расшифруйте строку байтов и преобразуйте ее в символьную строку (Unicode).