Seite 1 von 1

Probleme mit time in einer log-Datei

Verfasst: Sonntag 4. Juli 2010, 20:19
von JohnR
Hallo

Ich möchte in einer log Datei hinter der eigentlichen Nachricht (log eines Messengers) eine Zeitangabe schreiben.

Soweit wie ich das begriffen habe (ich bin recht unerfahren in Phyton) muß ich dazu das Modul Time mit

Code: Alles auswählen

import time
verfügbar machen

und könnte dann per

Code: Alles auswählen

time.strftime("%d.%m.%Y.%H.%M",time.gmtime())
die Zeit abrufen

wenn ich das ganze in einen kleinen skript teste klappt das auch.

wenn ich das ganze aber meinem skript hinzufüge der die log Datei erzeugen soll

Code: Alles auswählen

file = open(self.name(), "a")
file.write("[log ] " + text.encode("UTF-8") + "[time ]" + time.strftime("%d.%m.%Y.%H.%M",time.gmtime())  + "/n")
file.close()
legt der nur eine leere Datei an.


lasse ich aber

Code: Alles auswählen

time.strftime("%d.%m.%Y.%H.%M",time.gmtime())
aus der obigen Zeile weg,

also schreibe nur

Code: Alles auswählen

file.write("[log ] " + text.encode("UTF-8") + "/n")
,schreibt er das log (dann halt ohne Zeitangabe).

Was mache ich denn hier verkehrt ?

Also ich bin mir sicher das ich hier eine nicht gerade "hochwertige" Frage stelle, aber ich probiere schon seit über einem Tag herum und komme einfach nicht darauf was ich hier offensichtlich nicht verstehe :K

Also versuche ich höflichst hier etwas Hilfe zu bekommen.

Gruß John

Re: Probleme mit time in einer log-Datei

Verfasst: Sonntag 4. Juli 2010, 20:29
von BlackJack
@JohnR: Am besten begrenzt Du das mal auf ein minimales *lauffähiges* Programm was das Problem zeigt. Denn hier sind `self` und `text` unbekannt. Wenn ich alles nötige ergänze um es lauffähig zu machen dann funktioniert das bei mir:

Code: Alles auswählen

import time

text = u'Hallo'
file = open('test.log', 'a')
file.write('[log ] ' + text.encode('utf-8') + '[time ]' + time.strftime('%d.%m.%Y.%H.%M', time.gmtime())  + '\n')
file.close()
Ich würde davon abraten `file` als Namen zu verwenden, weil es einen eingebauten Typen mit dem Namen gibt. Und ich würde Zeichenkettenformatierung verwenden statt das ganze mit ``+`` zusammenzusetzen. Aber das sollte am Problem nichts verändern.

Man beachte übrigens auch das Zeichen für's Zeilenende was bei Deinen Beispielen falsch war.

Sollte das bei Dir laufen, dann liegt das Problem woanders.

Re: Probleme mit time in einer log-Datei

Verfasst: Sonntag 4. Juli 2010, 20:32
von Dauerbaustelle
Das sollte eigentlich beides so klappen, und ich bin mir sicher, dass das nichts mit dem `time`-Kram zu tun hat. Vielleicht schließt du die Datei nicht richtig?

btw, 1. meinst du bestimmt \n statt /n und 2. solltest du dir definitiv mal das `datetime`-Modul anschauen.

Re: Probleme mit time in einer log-Datei

Verfasst: Sonntag 4. Juli 2010, 20:48
von Pekh
Und das 'logging'-Modul (sobald du herausgefunden hast, was du bei deinem Ansatz falsch gemacht hast).

Re: Probleme mit time in einer log-Datei

Verfasst: Sonntag 4. Juli 2010, 20:49
von JohnR
bei dem Programm bin ich halt an den Messenger gebunden, dessen Funktion ich nur für mich mit einer log Datei erweitern möchte weil es mir schon oft vorgekommen ist das mir einer mit dem Spruch gekommen ist

>> das habe ich Dir doch vergangene Woche geschrieben.

und ja das Modul date.time werde ich mir ansehen

Danke erstmal, ich probiere mal weiter :D