Seite 1 von 1

Re: Gleichzeitige Ausgabe auf Bildschirm und Datei

Verfasst: Freitag 25. Mai 2018, 10:23
von python_newbee
Hallo Zusammen,
ich hoffe dieses Thema findet noch Beachtung, wenn ich hier eine neue Frage poste.

Ich beschäftige mich ganz frisch mit Python und habe ehrlich nicht viel Ahnung davon.
Jedenfalls möchte ich einen Text, der auf dem Bildschirm ausgegeben wird auch in eine Textdatei speichern. Leider weiß ich nicht so recht, wie das geht.

Hier mal die funktionierende Zeile mit der Bildschirmausgabe:

else:
print(u'file loaded: {}\nMessage: {}'.format(audio_file, response['message']))

und so würde ich es in eine Textdatei speichern:

file = open(path/to/the/file/message.txt, "w+")
file.write(message.text)
file.close()

Nur so funktioniert es leider nicht und ich weiß nicht, wie ich diese Zeilen vernünftig in meinen Code bekomme... ich hoffe, ich konnte mich klar ausdrücken.

Vielen Dank schon mal für die Hilfe!
Lg Anna

Re: Gleichzeitige Ausgabe auf Bildschirm und Datei

Verfasst: Freitag 25. Mai 2018, 10:35
von __deets__
Wenn du selbst überall die Kontrolle darüber hast, wann etwas ausgegeben wird, dann ist die einfachste Lösung den Text an einen Namen zu binden, und dann kannst du den ausgeben über beliebig viele Kanäle.

Code: Alles auswählen

message = u'file loaded: {}\nMessage: {}'.format(audio_file, response['message'])
print(message)
with open(“Datei”, “a”) as outf:
        outf.write(message)
        outf.write(“\n”) # print macht automatisch ein newline. write nicht.
Und diese 4 Zeilen kannst du am besten in eine Funktion packen, zB log, und die dann immer aufrufen:

Code: Alles auswählen

def log(message):
       print...

log(u'file loaded: {}\nMessage: {}'.format(audio_file, response['message']))

Re: Gleichzeitige Ausgabe auf Bildschirm und Datei

Verfasst: Freitag 25. Mai 2018, 11:11
von python_newbee
Super, danke für die schnelle Antwort.

Ich werde es gleich mal probieren. :)