Gut, das habe ich verstanden.
Jetzt habe ich es so, nochmal komplett. Geschrieben wird die genaue Zeit mit Datum, das Jahr extra und die Daten (heißen gerundet).
Code: Alles auswählen
temp = sys.stdout
sys.stdout = open ('/opt/fhem/log/wasserstand_sta2017.log','a')
print zeit,("%.0f" % gerundet)
sys.stdout = temp
Jetzt würde ich gern dein Codesegment verwenden.
Was macht? .format(datetime.datetime.now())
Wenn ich es richtig erkenne, müsste ich es so einsetzen. Funktioniert aber nicht.
Code: Alles auswählen
logfilename = "/opt/fhem/log/wasserstand_sta{0:%Y}.log".format(datetime.datetime.now())
with open(logfilename, "a") as logfile:
logfile.write zeit,("%.0f" % gerundet)
Wo ich den Code damals zusammengebastelt habe bin ich an deiner Variante zum Schreiben gescheitert. Was müsste man noch anpassen?