Python 3.x 如何使python中的大型复制操作更高效

Python 3.x 如何使python中的大型复制操作更高效,python-3.x,performance,parallel-processing,multiprocessing,copy-paste,Python 3.x,Performance,Parallel Processing,Multiprocessing,Copy Paste,我正在尝试并行化我的代码,使之更快 我有四个列表,将文件路径存储为字符串。我必须将这些文件从每个列表复制到特定文件夹 这是我的复制功能 def copy_machine(eegs,cls): if cls == 1: for eeg in eegs: dest = shutil.copyfile(eeg,class_1+eeg[-22:]) if cls == 2: for eeg in eegs:

我正在尝试并行化我的代码,使之更快

我有四个列表,将文件路径存储为字符串。我必须将这些文件从每个列表复制到特定文件夹

这是我的复制功能

def copy_machine(eegs,cls):
    if cls == 1:
        for eeg in eegs:
            dest = shutil.copyfile(eeg,class_1+eeg[-22:])
    if cls == 2:
        for eeg in eegs:
            dest = shutil.copyfile(eeg,class_2+eeg[-22:])
    if cls == 3:
        for eeg in eegs:
            dest = shutil.copyfile(eeg,class_3+eeg[-22:])
    if cls == 12:
        for eeg in eegs:
            dest = shutil.copyfile(eeg,class_12+eeg[-22:])


copy_machine(eegs_1,1)
copy_machine(eegs_2,2)
copy_machine(eegs_3,3)
copy_machine(eegs_12,12)
但是我总共有13000多个文件要复制,这种方法花费了太多的时间。因此,我正在努力提高效率


在python中有没有更好/更快的复制方法?如果没有,我如何并行化此代码以使其更快?

无论使用何种语言,复制数以万计的文件都可能相当慢,并且可能并行。您有SSD还是HDD?哪个文件系统?如果您有SSD,它可以实现多少IOPS?“慢”(秒/分钟/小时)是什么意思?文件平均有多大?目前需要多长时间?答案还取决于您的网络基础架构/拓扑和存储基础架构。将文件从主机A复制到主机B,然后告诉主机B将文件复制到主机C,而主机A将文件复制到主机D可能是最快的。NFS/Samba将文件装载到每个主机,以便它们可以自己访问文件,这可能是最快的。如果您的存储是SAN,那么依次将整个卷切换到每个主机可能会更快。在主机之间创建
tar
文件和scp/FTP可能是最快的。如果您的计算机在慢速网络上,并且有TB的数据,那么装满磁带的卡车可能是最快的。