Python-将文件复制到其他文件夹

时间:2020-06-06 06:34:24

标签: python python-3.x multiprocessing

我有一个方案,我必须使用存储在SQL SERVER表中的一些元数据将几乎2.5M文件从不同的文件夹移到不同的多个文件夹(在同一驱动器内)。我使用pyodbc,shutil和OS软件包编写了一个程序,但是看起来它并不是真正有效的性能,因为我只有大约2MB /秒的速度,并且需要几天才能完成加载。这是在Windows机器上。 所以目前我已经设计它可以使用for循环从存储在SQL Server表中的元数据中获取数据 并调用主函数(处理创建新文件夹,复制和重命名文件)。是否可以并行执行此主要功能多次?我尝试在python中使用多处理库,但无法解决。还有其他任何人可以建议的方法吗?如果有比shutil更好的图书馆,那么我也准备探索。子进程和操作系统似乎没有提供更好的性能。

import os
from time import sleep
import multiprocessing


def foldercreation(foldername):
    target_dir = 'C:\\Users\\myna\\Desktop\\Cisco'
    os.mkdir(os.path.join(target_dir,foldername))
    n=multiprocessing.cpu_count()
    print(n)
    with multiprocessing.Pool(processes=n) as p:
        for i in ['A','B','C','D']:
            foldercreation(i)

0 个答案:

没有答案
相关问题