2012-11-14 17 views
12

W jaki sposób łączysz wartość uuid.uuid4() z literałem podczas tworzenia pliku? Poniższa nie jest poprawna, ale powinien zilustrować, co mam próbuje zrobić ...Użyj uuid.uuid4(), aby utworzyć nowy plik

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

Odpowiedz

30

Trzeba przekonwertować uuid Do str:

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

Wersja ta nie obejmuje - w ciągu

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

to często dobry pomysł, aby otworzyć plik za pomocą menedżera kontekstowe

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

Oto przykład w pętli

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

ja wykonując pętlę gdzie utworzyć nowy plik (używając polecenia otwarcia następnie napisać do niego potem zamknąć ją i powtórzyć ten proces. Czy menedżer kontekstu byłby odpowiedni w tym scenariuszu? – c12

+1

@ c12, oczywiście, po prostu zrób z wewnątrz pętli –

Powiązane problemy