2012-11-14 20 views
12

फ़ाइल बनाने के दौरान आप uuid.uuid4() मान को शाब्दिक के साथ कैसे जोड़ते हैं? नीचे सही नहीं है लेकिन उदाहरण देकर स्पष्ट करना चाहिए कि मैं क्या करने की कोशिश कर रहा हूँ ...नई फ़ाइल बनाने के लिए uuid.uuid4() का उपयोग करें

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

उत्तर

30

आप में बदलने की आवश्यकता uuid एक str रहे हैं:

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

इस संस्करण में शामिल नहीं है - स्ट्रिंग

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

अक्सर यह एक संदर्भ प्रबंधक

का उपयोग कर फ़ाइल को खोलने के लिए एक अच्छा विचार है में
with open(uuid.uuid4().hex + ".txt", "wb") as fo: 
    # do stuff with fo 
    # fo will be closed automatically 

यहाँ एक पाश

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

में एक उदाहरण मैं एक पाश, जहां मैं एक नई फ़ाइल (खुला आदेश का उपयोग कर बनाने को क्रियान्वित कर रहा हूँ, तो मैं तो यह करने के लिए लिखने मैं इसे बंद करने और उस प्रक्रिया को दोहराने है। क्या इस परिदृश्य में एक संदर्भ प्रबंधक उपयुक्त होगा? – c12

+1

@ सी 12, सुनिश्चित करें, बस लूप के अंदर रखो –

संबंधित मुद्दे