Как правильно разделить вывод с \ n в Python? - PullRequest
1 голос
/ 28 октября 2019

В python3 я использую subprocess.check_output, чтобы получить вывод команды, но когда я его печатаю, это выглядит примерно так:

b'first line\nsecond line\nthird line'

Как я могу легко "преобразовать" это в нечто вроде следующего:

first line
second line
third line

Я попробовал следующий код:

for line in output.split(b'\n'):
    print(line)

, но получил следующий вывод:

b'first line'
b'second line'
b'third line'

Как сделать это правильно (и, вероятно, в одномкороткая линия)?

1 Ответ

2 голосов
/ 28 октября 2019

Согласно официальной документации здесь , вывод check_output:

По умолчанию эта функция возвращает данные в виде закодированных байтов. Фактическое кодирование выходных данных может зависеть от вызываемой команды, поэтому декодирование в текст часто приходится обрабатывать на уровне приложения.

Итак, для преобразования из bytes в str вам нужно использовать функцию decode следующим образом:

print(x.decode("utf-8") )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...