首页 > 编程语言 > 详细

python多进程拷贝数据

时间:2019-04-19 19:20:52      阅读:171      评论:0      收藏:0      [点我收藏+]
from multiprocessing import Pool,Manager
import os
#完成拷贝文件
def copyFile(filename,oldname,newname,que):
    "拷贝文件函数"
    # 三部操作  读取内容,写入内容  关闭
    que.put(filename)
    br = open(oldname+/+filename,rb)
    bw = open(newname+/+filename,wb)
    content = br.read()
    bw.write(content)
#关闭源文件和目标文件
    br.close()
    bw.close()
 
def fun():
    #1、提示输入要拷贝的文件名字
    oldname = input("请输入你要拷贝的文件夹名字或者路径:")
    #2.创建文件夹,存放拷贝内容
    newname = oldname + 拷贝内容
    os.mkdir(newname)
    #3.获取oldname中的目录和文件名字
    filenames = os.listdir(oldname)
    print(filenames)
    # #4.过滤文件
    # filename = solute(filenames)
    #利用多进程的方式拷贝数据
    po = Pool(5)   #进程数量
    que = Manager().Queue()  
    for fileName in filenames:  
        po.apply_async(copyFile,args=(fileName,oldname,newname,que))
    con = 0
    allcon = len(filenames)
    while True:#用主进程来显示拷贝进度
        dd = que.get()
        con +=1
        print(拷贝进度:%.2f%%%((con/allcon)*100),end=‘‘)
        if con==allcon:
            print("恭喜你拷贝完成")
            break
if __name__==__main__:
    fun()

 

python多进程拷贝数据

原文:https://www.cnblogs.com/jdhthome/p/10737773.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!