Seite 1 von 1

File anlegen

Verfasst: Montag 24. August 2009, 14:30
von The Spirit
Hi.
Ich möchte gerne ein txt file anlegen.
Dies mache ich natürlich ganz einfach mit

Code: Alles auswählen

filenmane = open("der_dateiname.txt", "w")
Somit kann ich jetzt mit

Code: Alles auswählen

filename.write("das ist der inhalt")
etwas in die datei schreiben.
Jetzt möchte ich aber, das der dateiname nicht nur aus einem festen string besteht, sonder auch noch einen aktuellen zeitstempel bekommt.
Also habe ich das so versucht

Code: Alles auswählen

filename = open("dateiname_" + str(time.strftime("%d.%m.%Y_%H:%M:%S")) + ".txt", "w")
Leider bekomm ich jetzt immer nen I/O Error, das die Datei nicht existieren würde (time wurde natürlich importiert).
Kann ich keine files mit einem zeitstempel im Namen anlegen, oder mache ich nen anderen Fehler.
Thx

Verfasst: Montag 24. August 2009, 14:38
von cofi
Kann ich nicht nachvollziehen. Allerdings macht es sowieso mehr Sinn das zweistufig zu machen

Code: Alles auswählen

In [25]: fname = 'foo_%s.txt' % time.strftime("%d.%m.%Y_%H:%M:%S")

In [26]: fobj = open(fname, 'w')

Verfasst: Montag 24. August 2009, 15:06
von Nocta
Naja, bei Windows sind Doppelpunkte nicht unbedingt erlaubt. Ersetz das vielleicht mal durch einen Bindestrich oder so.

Re: File anlegen

Verfasst: Montag 24. August 2009, 15:17
von Zap
The Spirit hat geschrieben:

Code: Alles auswählen

filenmane = open("der_dateiname.txt", "w")
Den Namen "filename" für ein geöffnetes file-object zu verwenden ist nicht umbedingt optimal. Wenn ich diese Variable später im Code finden würde, würde ich dahinter auch den Namen also sowas wie einen String erwarten.

Verfasst: Dienstag 25. August 2009, 11:28
von The Spirit
Nocta hat geschrieben:Naja, bei Windows sind Doppelpunkte nicht unbedingt erlaubt. Ersetz das vielleicht mal durch einen Bindestrich oder so.
danke, genau das wars