I want to copy a file then start writing the new file:
shutil.copyfile("largefile","newlargefile")
nwLrgFile=open("newlargefile",'a')
nwLrgFile.write("hello\n")
However, when I do the above hello
will be written before the end of the file. What is the right way to make sure copyfile is done?
I looked on SO and other places but all the answers I saw said that shutil.copyfile blocks or locks and that it shouldn't be a problem. And yet, it is. Please help!
Try using copyfileobj
directly instead:
with open('largefile', 'r') as f1, open('newlargefile', 'w') as f2:
shutil.copyfileobj(f1, f2)
f2.write('hello')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With