print abfangen.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

print abfangen.

Beitragvon mitsuhiko » Sonntag 14. November 2004, 17:50

Gibt es eine Möglichkeit jedes Print an eine Variable anzuhängen?
Sozusagen sowas:

Code: Alles auswählen

print "Das ist ein Test" --> content += "Das ist ein Test\n"

Hab schon nach sowas gesucht, aber irgendwie find ich nichts.
TUFKAB – the user formerly known as blackbird
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Sonntag 14. November 2004, 17:59

Du kannst die print ausgaben in eine Datei oder ein file-like-object umleiten, indem du entweder sys.stdout redefinierst oder print sagst, wohin geschrieben werden soll:

Code: Alles auswählen

import cStringIO,sys
filelikeobj=cStringIO.StringIO()
#1.Variante:
old_stdout,sys.stdout=sys.stdout,filelikeobj
print "Das ist ein Test"
...
sys.stdout=old_stdout
print filelikeobj.getvalue()
#2. Variante:
print >> filelikeobj, "Das ist ein Test"
print filelikeobj.getvalue()
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Sonntag 14. November 2004, 18:19

Danke für die schnelle Hilfe. Funktioniert genau so, wie ich wollte :D
TUFKAB – the user formerly known as blackbird

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder