这里我使用python中的代码,如
if option2 == 1:
try:
global option2, Nimages
for sur in fm_path:
shutil.copy(sur,file1) # here how to speed up the copy function
option2 = 0
except shutil.Error as e:
print('Error: %s' % e)
执行此操作时。如果我复制一个冗长的文件,它需要花费太多时间来复制。有什么建议可以缩短时间吗?
答案 0 :(得分:8)
如果您正在处理大尺寸的文件,您可以尝试将文件打开/写入作为副本。如Faster Python File Copy中所述,shutil.copyfileobj
中的默认缓冲区大小(在shutil
中执行文件复制的真正功能)是16 * 1024,16384。您可以使用更大的缓冲区大小
前,
with open(src, 'rb') as fin:
with open(dst, 'wb') as fout:
shutil.copyfileobj(fin, fout, 128*1024)