Hallo, zusammen...
Na so (wie ich denke) einfache Fragen sind schon fast peinlich zu stellen - aber ich habe bei meiner Suche nichts passendes gefunden...
Ich möchte eine Log Datei schreiben, in der der jetzige Zeitpunkt gespeichert wird und zusätzlich der jetige Zeitpunkt + X Tage.
Die Berechnunge ist kein Problem. Aber leider stört mich die Darstellung der Zeitangabe mit Sekunden und Milisekunden
Wie kann ich das Format des jetzigen Zeitpunkts ändern? bzw. wenn ich es in einem String speichere kann brauche ich ja nur die letzten 10 Stellen zu löschen... Doch wie?
Eine weitere kurze Frage ist, ob es irgendwo eine Übersicht für Steuerzeichen in einem String gibt? Ich meine "\n" ist ja der Zeilenschalter ich würde aber einen Tabulator brauchen...
EDIT:
Habs gefunden:
http://de.wikibooks.org/wiki/Python-Pro ... konstrukte
Danke!
datetime.datetime.today() ohne sek und milisek darstellen???
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Code: Alles auswählen
In [1]: from datetime import datetime
In [2]: today = datetime.today()
In [3]: today.strftime("%Y-%m-%d %H:%M")
Out[3]: '2008-11-15 22:09'
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Vielen Dank!
Genau so klappt es:
Mein nächstes Ziel ist es nun, dieses log File in einer permanenten Schleife auszulesen und den Eintrag zum Zeitpunkt des "End" Datums wieder zu löschen und in eine andere log Datei zu schreiben....
Mal sehen, wie wit ich komme!
Aber falls ich mich jetzt schon verrenne könnte Ihr mir vielleicht Tips geben, wie es sinnvoller zu gestalten wäre.
Danke, nochmals!
Genau so klappt es:
Code: Alles auswählen
#Write logfile
def log():
logfile = open('log.TXT', 'a')
Action = '/test\t'
UName = 'Test\t' #lname.get()
logfile.writelines(Action + UName + '\t' + Duration + '\t' + Time.strftime("%Y %m %d %H:%M") + '\t' + End.strftime("%Y %m %d %H:%M") + '\n')
logfile.close()
Duration = int(raw_input('Days to add: '))
Time = datetime.datetime.today()
Add = datetime.timedelta(days=Duration)
print Time.strftime("%Y %m %d %H:%M")
End = Time + Add
print End.strftime("%Y %m %d %H:%M")
Duration = str(Duration)
log()
Mal sehen, wie wit ich komme!
Aber falls ich mich jetzt schon verrenne könnte Ihr mir vielleicht Tips geben, wie es sinnvoller zu gestalten wäre.
Danke, nochmals!
Es gibt ein "logging" Modul in der StdLib.
EDIT:
Warum benutzt du überhaupt Tabulatoren?
Und Funktionen sollten bis auf Konstanten alles was sie brauchen über Argumente erhalten. Diese Zusammensetzungen sehen auch unschön aus, ist aber wohl Testcode.
EDIT:
Warum benutzt du überhaupt Tabulatoren?
Und Funktionen sollten bis auf Konstanten alles was sie brauchen über Argumente erhalten. Diese Zusammensetzungen sehen auch unschön aus, ist aber wohl Testcode.
Hmmm... es gibt so viel, was ich noch lernen muss
Also mein Programm soll im Groben folgendes machen:
Es soll das bannen und unbannen von Usern auf Spieleservern etwas einfacher gestalten und automatisiert werden.
Hierzu benötige ich 3 Angaben: Name, bannen oder unbannen, wenn bannen dann wie lange. (wie ich an diese Daten komme weß ich noch nicht - GUI, Texteingabe, Über Webelement...)
Dann wird ein Eintrag ins log geschreiben und der Name entsprechend in die Banliste geschreiben bzw. gelöscht.
Nun ist es aber so, dass ich mehere Dateien brauche:
Bannliste: darf nur die Namen (jeweils einer pro Zeile) enthalten, da sie von einem anderen Programm weiterverarbeitet wird
Das log soll aber gleichzeitig auch auslesbar sein um es auf einer Webseite anzuzeigen (wird in PHP gemacht - habe ich aber nichts mit zu tun)
Nun soll aber auch dieses log file - ich denke das ist am einfachsten - permanent gescannt werden um Namen zu finden, deren Ban abgelauchen ist. Diese Namen sollen dann auf der Bannliste entfernt werden und und aus dem log in eine history datei geschreiben werden.
Damit es beim öffnen der log Datei "schön" aussieht habe ich die Tabs verwendet...
Allerdings bin ich am Zweifeln, ob ich nicht eine ganz andere Richtung einschlagen soll:
Ich könnte ja auch alles mit Pickel machen und dann die 3 Dateien nach jedem Schleifendurchlauf neu erstellen lassen. So wie ich das sehe wäre dann die Überprüfung ob ein Eintrag gelöscht werden soll leichter zu erledigen...
Aber nun werde ich mir aber erstmal die das 'logging' Modul ansehen...
Also mein Programm soll im Groben folgendes machen:
Es soll das bannen und unbannen von Usern auf Spieleservern etwas einfacher gestalten und automatisiert werden.
Hierzu benötige ich 3 Angaben: Name, bannen oder unbannen, wenn bannen dann wie lange. (wie ich an diese Daten komme weß ich noch nicht - GUI, Texteingabe, Über Webelement...)
Dann wird ein Eintrag ins log geschreiben und der Name entsprechend in die Banliste geschreiben bzw. gelöscht.
Nun ist es aber so, dass ich mehere Dateien brauche:
Bannliste: darf nur die Namen (jeweils einer pro Zeile) enthalten, da sie von einem anderen Programm weiterverarbeitet wird
Das log soll aber gleichzeitig auch auslesbar sein um es auf einer Webseite anzuzeigen (wird in PHP gemacht - habe ich aber nichts mit zu tun)
Nun soll aber auch dieses log file - ich denke das ist am einfachsten - permanent gescannt werden um Namen zu finden, deren Ban abgelauchen ist. Diese Namen sollen dann auf der Bannliste entfernt werden und und aus dem log in eine history datei geschreiben werden.
Damit es beim öffnen der log Datei "schön" aussieht habe ich die Tabs verwendet...
Allerdings bin ich am Zweifeln, ob ich nicht eine ganz andere Richtung einschlagen soll:
Ich könnte ja auch alles mit Pickel machen und dann die 3 Dateien nach jedem Schleifendurchlauf neu erstellen lassen. So wie ich das sehe wäre dann die Überprüfung ob ein Eintrag gelöscht werden soll leichter zu erledigen...
Aber nun werde ich mir aber erstmal die das 'logging' Modul ansehen...