redirecting stdout to a file as well as screen
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Thu Apr 12 04:00:34 EDT 2007
En Thu, 12 Apr 2007 04:14:32 -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).
A very minimal example:
import sys
class Tee(file):
others = ()
def write(self, data):
file.write(self, data)
for f in others:
f.write(data)
tee = Tee(r"c:\temp\output.log","wt")
tee.others = [sys.stdout, sys.stderr]
sys.stdout = sys.stderr = tee
print dir(sys)
sys.foo # error
--
Gabriel Genellina
More information about the Python-list
mailing list