Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Сохранение результатов системной команды


Автор: V0lk0d@V 26.2.2007, 16:17
У меня в программе есть коммадна которая компилирует файлы в папке 
Код

os.system('g++ ' + k + ' -o ' + name)

но мне охота чтоб сообщение которые компилятор пишет(разные предупреждения) сохранились в файле(скажем в txt файле) вместо того чтоб показываться на экране. Подскажите как это сделать?

Автор: setq 26.2.2007, 16:54
'g++ ' + k + ' -o ' + name + ' >1.txt'

Решение из разряда простейших.

Автор: V0lk0d@V 26.2.2007, 18:01
Я так пробовал. Он создает файл 1.txt к примеру но он пустой. Я тоже думал так надо делать но почему то ничего не получилось. Все сообщение компилятора все равно показываются в командной строке вместо того чтоб писать их в файле.

Автор: likehood 26.2.2007, 19:10
попробуй так:
'g++ ' + k + ' -o ' + name + ' 2>1.txt'

Добавлено @ 19:12 
сообщения компилятора обычно направляются в стандартный поток ошибок, двойка как раз его и обозначает

Автор: Daevaorn 26.2.2007, 19:42
Код

( stdin, stdout ) = os.popen( 'g++ ' + k + ' -o ' + name )
f = open( "out.txt", 'w' )
f.write( stdout.read() )
f.close()

Автор: V0lk0d@V 27.2.2007, 01:48
Спасибо smile заработало

Автор: lorien 27.2.2007, 15:33
Код

import os
os.popen('ls / > /tmp/log-test')

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)