Давайте посмотрим на шаги, которые вы уже сделали:
- Вы вызываете
check_output()
и он возвращает вывод в виде байтов ; - Затем Вы вызываете
bytes.decode()
, что возвращает str .
В результате вы получаете многострочную строку.Вы пытались получить доступ к первой строке, используя индекс 0
, но вместо первой строки вы получили первый символ.Это произошло, потому что доступ к строке по индексу вернет вам символ из этого индекса.
Чтобы получить первую строку, вы должны разбить строки вашей многострочной строки (преобразовать str в список str).Есть встроенная функция str.splitlines()
, которая делает то, что вам нужно.
Итак, чтобы обновить ваш код, нам нужно добавить еще одну строку перед вашим оператором print()
:
output_lines = output.splitlines()
После этого вы можете получить доступ к строке по индексу:
print(output_lines[0])