ich habe nochmal eine Frage: Mein Skript funkioniert soweit sehr gut, nun möchte ich allerdings, dass meine Konsole auch in eine log.txt ausgegeben wird. Das klappt, jedoch muss ich das Skript beenden, damit die Daten geschrieben werden. Ich möchte es gerne "Live" schreiben - wie in der Konsole zu sehen ist.
Code: Alles auswählen
class Tee(object):
def __init__(self, *files):
self.files = files
def write(self, obj):
for f in self.files:
f.write(obj)
original_stdout = sys.stdout
f = open("log.txt","a")
sys.stdout = Tee(sys.stdout, f)
while True:
sys.stdout.write("Warte 10 sekunden...")
time.sleep(10)
f.close()
Wie kann ich das bewerkstelligen? Jedesmal schließen und wieder öffnen fühlt sich erstmal nicht effizient an - da muss es doch noch einen anderen weg geben?
Edit: * = da das Skript entweder selbst durch einen neustart den PCs brachial beendet wird oder es schlicht und ergreifend Monate durch läuft.