мне нужно прочитать вывод команды оболочки из питона сценария и заполнить список с каждой линией:Чтение вывода оболочки из питона построчных линий
ВОПРОС: Если я сохранить вывод команды в качестве переменного , цикл петли читать символ за характером
#!/usr/bin/python
import subprocess
CMD = "ls -la"
output = subprocess.check_output(CMD, shell=True)
list = []
for line in output:
list.append(line)
print list
Плохой выход: [ 'т', 'о', 'т', 'а', 'L', '', «5 ', ...]
РЕШЕНИЕ: В работе вокруг, я направил вывод COMAND в файл, а оттуда строку за строкой прочитать:
#!/usr/bin/python
import subprocess
CMD = "ls -la > tmp"
subprocess.call(CMD, shell=True)
list = []
f = open("tmp", "r")
for line in f:
list.append(line)
print list
Хороший выход [ «общая 52 \ п», 'drwxrwxr-х 3 Ajn Ajn 4096 марс 11 17:52 \ п.', ...]
ВОПРОС: Как я могу использовать 1-ый подход (без операции над файлами, все внутри программы) с результат второго подхода?