[Python-de] stdout in Variable umleiten

Uwe Tapper Uwe.Tapper at dlr.de
Die Mai 18 13:37:29 CEST 2004


Hallo,

Thorsten Kampe wrote:
> Wie kann ich stdout (zum Beispiel von "import this") in eine Variable
> umleiten? 

wirf mal einen Blick auf StringIO 
(http://docs.python.org/lib/module-StringIO.html)

 > Ich habe "sys.out = zen; print this" versucht, bekomme aber
> nur "<open file '<stdout>', mode 'w' at 0xa05e060>" statt des
> gewünschten "Zen of Python".

 >>> import StringIO
 >>> import sys
 >>> zen=StringIO.StringIO()
 >>> sys.stdout=zen; print "zen of python"; sys.stdout=sys.__stdout__
 >>> zen.getvalue()
'zen of python\n'
 >>> zen.close()
...

Uwe