set
уже должен печатать с новой строкой, так что, если они не отображаются, что-то более неправильно, чем вы говорите нас. Вы всегда можете удвоить символ новой строки, если вы хотите разделить настройки друг от друга, например:
import subprocess
print(subprocess.check_output('set',shell=True).replace('\n', '\n\n'))
Если проблема заключается в том, что вы работаете на Python 3 и bytes
объект большой двоичный объект, вы можете сделать subprocess
декодировать его в дружественной печати строки для вас:
print(subprocess.check_output('set',shell=True, universal_newlines=True))
# Yes, the name of the keyword is dumb; it sounds like it handles different
# line ending conventions, but on Python 3, it also decodes from `bytes`
# to `str` for you.
в общем случае переноса строк славно (хотя она ничего не делает для абзацев текста, которые просто «слишком большой»), вы можете захотеть взглянуть на textwrap
module; он разбивает блок текста на list
строк, хорошо украшенных границами слов, поэтому у вас нет слов, разделенных по строкам.
Приведите пример, как результат должен выглядеть. Я нахожу, что выход уже вполне читаем. – user38034
'subprocess.check_output' возвращает строку. Вы можете делать с ним все, что хотите, например, разделите его на новые строки с помощью 'split', который создаст список. – user38034
@ user38034, который будет разделен пробелами. возможно, вы имели в виду раздельные линии. – wim