2013-02-07 4 views
5

समाप्त होने की प्रतीक्षा मैं कॉपी करने के लिए एक फ़ाइल तो नई फ़ाइल लेखन शुरू करना चाहते हैं:shutil.copyfile

shutil.copyfile("largefile","newlargefile") 
nwLrgFile=open("newlargefile",'a') 
nwLrgFile.write("hello\n") 

हालांकि, जब मैं ऊपर hello फ़ाइल के अंत से पहले लिखा जाएगा करते हैं। यह सुनिश्चित करने का सही तरीका क्या है कि कॉपीफाइल किया जाता है?

मैंने एसओ और अन्य स्थानों पर देखा लेकिन मैंने देखा कि सभी उत्तरों ने कहा कि shutil.copyfile ब्लॉक या ताले और यह कोई समस्या नहीं होनी चाहिए। और फिर भी, यह है। कृपया सहायता कीजिए!

+1

संदिग्ध। क्या आप समस्या दिखाने वाले स्वयं निहित उदाहरण प्रदान कर सकते हैं? – nneonneo

उत्तर

2

बजाय सीधे copyfileobj उपयोग करके देखें:

with open('largefile', 'r') as f1, open('newlargefile', 'w') as f2: 
    shutil.copyfileobj(f1, f2) 
    f2.write('hello')