Neue CSV Datei in python anlegen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ein ganz simpler Ansatz: du packst einen Zeitstempel in den Dateinamen. Einen sekundengenauen zum Beispiel bekommst du so:

import time
timestamp=int(time.time())
dateiname="meinedatei_{}.csv".format(timestamp)

Aber du kannst es natürlich auch schöner formatieren.

Wenn ein Risiko besteht dass es zu Namenskollisionen kommt weil gleichzeitig mehrere Programme das tun, solltest du Richtung mkstemp schauen: https://docs.python.org/3.9/library/tempfile.html#tempfile.mkstemp

Hirschhartwurst 
Fragesteller
 04.11.2020, 15:30

Die Idee mit dem Zeitstempel hatte Ich auch schon, wusste nur nicht ob das geht.

Ich denke mal, für mich wird diese Vatiante völlig ausreichend sein.

Wobei sich die Sache unter dem Link auch recht interessant anhört. :)

0

Ein alternativer Ansatz zu dem von alfredo153 wäre noch das Erzeugen einer UUID, welchen du an den Dateinnamen anhängst:

https://www.geeksforgeeks.org/generating-random-ids-using-uuid-python/

VG

Woher ich das weiß:Studium / Ausbildung
Hirschhartwurst 
Fragesteller
 04.11.2020, 15:42

Das hört sich auch interessant an. Da wir von 128 bit reden, ist es ziemlich unwahrscheinlich 2-mal den gleichen zu benutzen nehme Ich an?

0
alfredo153  04.11.2020, 15:57
@Hirschhartwurst

Die ganze Idee einer UUID ist es, eindeutig zu sein. Das ist also nicht das Problem. Sie ist halt lang und unschön (und im Gegensatz zu einem Zeitstempel nichtssagend) - wenn dich das aber nicht stört ist es ein sehr robuster Ansatz.

0

Dateien auflisten und höchste Nummer herausfinden