Найти - Пользователи
Полная версия: вывод в stdout и в переменную паралельно шеловой команды
Начало » Python для новичков » вывод в stdout и в переменную паралельно шеловой команды
1
goblin_maks
python 2.4
выполняю команду через os.system, тогда все только в консоль..
выполняю через os.popen2 тогда только в переменную…а только потом могу ее в стдаут вывести..

надо выполнить команду, видеть ее реалтайм вывод, после этого отредактировать вывод, и запихнуть в файл..

подскажите как реализовать..пробовал….вроде когдато делал такое через /dev/null ..но к вечеру пятницы мозг перестал адекватно воспринимать мир..
Ed
Вот нашел какой-то старый код. Похоже на то, что вы ищете:
pipe = popen2.Popen3("ls -la /etc", 0)

out = []
while True:
line = pipe.fromchild.readline().strip()
if not line:
break
print line # вывод по мере поступления
out.append(line) # собирание для последующей обработки

status = pipe.wait()
pasaranax
Тогда уж лучше через proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE), а потом proc.stdout читать. А то попены с цифрами вроде как не рекомендованы уже.
goblin_maks
пасиб..работает..теперь и через попен и через сабпроцесс..
Ed
pasaranax
А то попены с цифрами вроде как не рекомендованы уже.
Я в курсе. Поэтому и написал, что код старый. Идея-то ясна, я надеюсь.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB