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ß
Ausgabeumlenkung mit Python unter windows
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
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
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
[code]#!/usr/bin/env python
import this[/code]
import this[/code]
-
- User
- Beiträge: 34
- Registriert: Samstag 24. Juli 2004, 19:25
- Kontaktdaten:
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"
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ß
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ß