redirecting stdout to a file as well as screen
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Thu Apr 12 06:42:13 EDT 2007
En Thu, 12 Apr 2007 07:23:43 -0300, SamG <mad.vijay at gmail.com> escribió:
>> >> > How could i make, from inside the program, to have the stdout and
>> >> > stderr to be printed both to a file as well the terminal(as usual).
>>
>> >> class Tee(file):
>> >> others = ()
>>
>> >> def write(self, data):
>> >> file.write(self, data)
>> >> for f in others:
>> >> f.write(data)
>>
>> > This is only creating an out.log file and all the stdout and stderr
>> > are logged there.
>>
>> Sorry, `for f in others:` should read `for f in self.others:`
>>
> Does not make difference, does this work for you? Im working on linux.
> But this code looks portable except for the file path :)
Yes. And it's rather similar to your other example... Omit sys.stderr as
Antoon Pardon suggested.
--
Gabriel Genellina
More information about the Python-list
mailing list