#coding=utf-8
from multiprocessing import Pool,Queue
import os,time
filename = os.listdir("./test1")
#创建Queue队列
queue = Queue(len(filename))
def copyFile(i):
#实现文件复制
oldFileName = "./test1/" + i
newFileName = "./test2/" + i
oldfile = open(oldFileName,'r')
newfile = open(newFileName,'w')
for lineContent in oldfile.readlines():
newfile.write(lineContent)
oldfile.close()
newfile.close()
if __name__ == '__main__':
pool = Pool(4)
for i in filename:
pool.apply_async(copyFile,(i,))
#队列中将copy完成的文件放入队列中并打印进度
queue.put(i)
price = str(int((queue.qsize()/len(filename))*100))
print('\r'+' '*60,end='')
print('\r'+price+'%'+'=======>%s'%i,end='')
time.sleep(0.07)
print('')
pool.close()
pool.join()
Python多文件拷贝(进程池)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 此篇为学习Python多进程这个知识点是的练习Demo,有兴趣的可以看一下。这 里面涉及到的知识点有:进程池(Po...
- 当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果...
- 关键词:python2.7 multiprocessing logger 单例 前言 前言,很多人提起python...
- 过程 1.引入模块2.实例化Pool3.向Pool提交任务4.关闭进程池5.join进程同步 Demo
- 支持python2.7 3.5 3.6, 运用multiprocessing模块的Pool 异步进程池,分段读取...