File anlegen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
The Spirit
User
Beiträge: 276
Registriert: Freitag 8. Juni 2007, 08:50
Wohnort: 84xxx Bereich
Kontaktdaten:

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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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')
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Naja, bei Windows sind Doppelpunkte nicht unbedingt erlaubt. Ersetz das vielleicht mal durch einen Bindestrich oder so.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

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.
The Spirit
User
Beiträge: 276
Registriert: Freitag 8. Juni 2007, 08:50
Wohnort: 84xxx Bereich
Kontaktdaten:

Nocta hat geschrieben:Naja, bei Windows sind Doppelpunkte nicht unbedingt erlaubt. Ersetz das vielleicht mal durch einen Bindestrich oder so.
danke, genau das wars
Antworten