Skip to main content
 首页 » 编程设计

python之如何加速 shutil.copy()

2025年05月04日18freeliver54

我在这里使用 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) 

执行此操作时,如果我复制一个冗长的文件,则复制会花费太多时间。有什么减少时间的建议吗?

请您参考如下方法:

如果您正在处理大文件,您可以尝试将文件打开/写入作为副本。如 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)