我想复制一个文件,然后开始编写新文件:
shutil.copyfile("largefile","newlargefile")
nwLrgFile=open("newlargefile",'a')
nwLrgFile.write("hello\n")
但是,当我这样做时,上面的hello
将在文件结束之前写入。确保复制文件完成的正确方法是什么?
我查看了SO和其他地方但是我看到的所有答案都说shutil.copyfile阻塞或锁定它应该不是问题。然而,确实如此。请帮忙!
答案 0 :(得分:2)
请直接尝试使用copyfileobj
:
with open('largefile', 'r') as f1, open('newlargefile', 'w') as f2:
shutil.copyfileobj(f1, f2)
f2.write('hello')