2012-11-14 8 views
12

Wie verketten Sie die uuid.uuid4() Wert mit einer wörtlichen beim Erstellen einer Datei? Das ist unten nicht richtig, aber sollte zeigen, was ich zu tun habe versucht, ...Verwenden uuid.uuid4() zu erstellen, neue Datei

fo = open(uuid.uuid4() + ".txt", "wb") 

Antwort

30

Sie müssen die uuid zu einem str konvertieren:

>>> import uuid 
>>> str(uuid.uuid4()) + ".txt" 
'13eb9327-f40e-4ef1-8020-1c36af1b4b70.txt' 
3

Diese Version beinhaltet nicht die - im String

fo = open(uuid.uuid4().hex + ".txt", "wb") 

Es ist oft eine gute Idee, die Datei mit einem Kontext-Manager zu öffnen

with open(uuid.uuid4().hex + ".txt", "wb") as fo: 
    # do stuff with fo 
    # fo will be closed automatically 

Hier ist ein Beispiel in einer Schleife

for item in data: 
    with open(uuid.uuid4().hex + ".txt", "wb") as fo: 
     fo.write(item) 
+0

ich eine Schleife bin Ausführung, wo ich eine neue Datei zu erstellen (den offenen Befehl dann ich es schreiben, dann schließe ich es und diesen Vorgang wiederholen. Wäre ein Kontextmanager in diesem Szenario geeignet? – c12

+1

@ c12, sicher, legen Sie einfach mit in der Schleife –

Verwandte Themen