多进程copy文件
from multiprocessing import Pool,Manager
import os,time
def copyFileTask(fileName,oldFolderName,newFolderName,queue):
fr = open(oldFolderName+"/"+fileName,'r',encoding='UTF-8')
fw = open(newFolderName+"/"+fileName,'w',encoding='UTF-8')
#复制
while True:
content = fr.read(1024)
if len(content) == 0:
break
fw.write(content)
#关闭文件
fr.close()
fw.close()
queue.put(fileName)
def main():
oldFolderName = 'test'#input("请输入要复制的文件夹名字:")
#创建目录
newFolderName = oldFolderName+"[复件]"
os.mkdir(newFolderName)
#获取文件列表
fileList = os.listdir(oldFolderName)
#使用多进程的方式复制
pool = Pool(5)
#消息队列
queue = Manager().Queue()
for file in fileList:
#copyFileTask(file,oldFolderName,newFolderName,queue)
pool.apply_async(copyFileTask,args=(file,oldFolderName,newFolderName,queue))
num = 0
total = len(fileList)
while num<total:
queue.get()
num += 1
rate = num/total*100
print('\r复制的进度是:%.2f%%'%rate,end="")
#关闭进程池,不再接受新的进程
#pool.close()
#主进程阻塞等待子进程的退出
#pool.join()
if __name__ == '__main__':
t_start = time.time()
main()
t_stop = time.time()
print("\n执行完毕,耗时%0.2f"%(t_stop-t_start))
单进程:
C:\Users\Administrator>python d:\python\copy.py
复制的进度是:100.00%
执行完毕,耗时6.53
多进程:
C:\Users\Administrator>python d:\python\copy.py
复制的进度是:100.00%
执行完毕,耗时6.59
多进程copy文件的更多相关文章
- 5 多进程copy文件
1.如何进行开发? 2.版本1:程序大框架 #1.创建一个文件夹 #2.获取old文件夹中所有的文件名字 #3.使用多进程的方式copy原文件夹中的所有文件到新文件夹中 3.版本2:创建一个文件夹 1 ...
- Cocos2d-x建工程时避免copy文件夹和库
方法一:(官方做法) 打开F:\cocos2d-1.0.1-x-0.9.1目录下的cocos2d-win32.vc2010.sln文件,然后右键点击解决方案,选择"添加"—&quo ...
- Linux跨用户copy文件
foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录.Linux对用户home目录有严格的权限限制,非owner用户或者同group用户无权限读写,除非是root ...
- Windows服务器Pyton辅助运维--01.自动Copy文件(文件夹)到远程服务器所在目录
Windows服务器Pyton辅助运维 01.自动Copy文件(文件夹)到远程服务器所在目录 开发环境: u Web服务器: Windows Server 2008 R2 SP1 IIS 7.5 u ...
- [转]Cocos2d-x建工程时避免copy文件夹和库
原文链接: http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html 在上一篇教程中,我们演示了如何使用VS2010来新建一个工程 ...
- 怎么从docker中copy文件到 本机
怎么从docker中copy文件到 本机 docker cp <containerId>:/file/path/within/container /host/path/target
- php利用curl实现多进程下载文件类
批量下载文件一般使用循环的方式,逐一执行下载.但在带宽与服务器性能允许的情况下,使用多进程进行下载可以大大提高下载的效率.本文介绍PHP利用curl的多进程请求方法,实现多进程同时下载文件. 原理: ...
- 从主机系统向虚拟机系统里面copy 文件
从主机系统向虚拟机系统里面copy 文件: 一:请确保你的虚拟机里面安装了 VMTools 1:安装VMTools 2: 进入虚拟机系统里面,如果没有自动运行 VMtool安装程序,请打开我的电脑,手 ...
- Django多进程日志文件问题
Django多进程日志文件问题 最近使用Django做一个项目.在部署的时候发现日志文件不能滚动(我使用的是RotatingFileHandler),只有一个日志文件. 查看Log发现一个错误消息:P ...
随机推荐
- idea 新写的jsp没有找到
- JQuery/JS插件 zTree树,点击当前节点展开,其他节点关闭
好像没找到现成的,就自己写了一个demo. 效果如下: 代码: <!DOCTYPE html> <html> <head> <meta http-equiv= ...
- Kubernetes 本地仓库
1.Kubernetes本地私有仓库 Docker仓库主要用于存放Docker镜像,Docker仓库分为公共仓库和私有仓库,基于registry可以搭建本地私有仓库.使用私有仓库有如下优点: 1)节省 ...
- 导出excel时设置单元格格式(避免类似0100的数字丢失前面的0)
<td style="vnd.ms-excel.numberformat:@;"><s:property value="accountCode" ...
- NTKO OFFICE文档控件
目录 前言 什么是ntko 准备工作 实战演练 总结 一.前言 Web开发中经常需要用到在线处理office文档的功能,现在市面上有一些常用的Web页面调用显示Office的控件技术,用起来很方便. ...
- 手机调试 fiddler
使用Fiddler调试手机程序 | 前端和运维利器 2015-11-27 zhy97031 文章来源 阅 688 转 4 转藏到我的图书馆 微信分享: 作者:Uncle Chen 原文 ...
- react ES5 与ES6的写法
ES5var React = require('react'); var ReactDOM = require('react-dom'); // 定义组件 var HelloMessage = Rea ...
- TF-IDF原理及使用
1.TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率).(逆文档词频) 2.自我理解: 公式TF = $$\frac{语料库中关键词 ...
- node 加载逻辑
[node 加载逻辑] require(X) from module at path Y . If X is a core module, a. return the core module b. S ...
- metasploit framework(七):密码嗅探
run 当嗅探到流量中的用户密码信息时打印出来,目前只支持FTP,http get , pop3 还可以对抓包文件,进行密码提取,设置需要提取的文件路径 run就能提取里面的用户密码信息 查看和停掉某 ...