Seite 1 von 1
Ausgabeumlenkung mit Python unter windows
Verfasst: Freitag 29. Oktober 2004, 07:55
von dakn84
Hi zusammen,
ich möchte einen build prozess zum einen in einem logfile speichern aber auch alles gleichzeitig auf dem monitor ausgeben.
also das mit dem logfile funktioniert einwandfrei, aber das ausgeben auf dem bildschirm klappt nicht

.
Wer kann mir da helfen ?????
Gruß
Verfasst: Freitag 29. Oktober 2004, 08:33
von NOTZE
Wenn du jetzt noch sagst was dein _genaues_ problem ist kann man dir sicher auch helfen

Verfasst: Freitag 29. Oktober 2004, 11:28
von Dookie
Hi dakn84,
bei den Codesnippets habe ich eine Linebufferklasse gepostet:
http://python.sandtner.org/viewtopic.php?t=1922
Die ist genau für solche sachen gedacht und sollte auch unter Windows funktionieren.
Gruß
Dookie
Verfasst: Freitag 29. Oktober 2004, 12:34
von Sorgenkind
Würds viel einfacher machen:
Code: Alles auswählen
import sys
class Umleiter:
def __init__(self,f):
self.stdout=sys.stdout
self.file=file(f,"a+")
def write(self,x):
self.file.write(x)
self.stdout.write(x)
def __getattr__(self,x):
return getattr(self.stdout,x)
sys.stdout=Umleiter("log.txt")
print "Test"
Verfasst: Freitag 29. Oktober 2004, 15:30
von dakn84
Hi,
Wenn du jetzt noch sagst was dein _genaues_ problem ist kann man dir sicher auch helfen.
Also, ich erstelle mit Scons ein Build. Der Build Prozess soll in ein Logfile geschrieben werden, aber auch gleichzeitig auf dem Bildschirm ausgegeben werden.
Der Prozess wird in das Logfile geschrieben, nur die Ausgabe in der Cmd funzt nicht.
Unter Linux gibt es den Befehl 'tee' damit beides erreicht wird. Jetzt will ich wissen wie das klappt.
Gruß