python多线程案例之多任务copy文件完整实例


Posted in Python onOctober 29, 2019

本文实例讲述了python多线程案例之多任务copy文件。分享给大家供大家参考,具体如下:

import os
import multiprocessing
def copy_file(q,file_name, old_folder_name, new_folder_name):
  """完成文件的复制"""
  old_f = open(old_folder_name+"/"+file_name, "rb")
  content = old_f.read()
  old_f.close()
  new_f = open(new_folder_name+"/"+file_name, "wb")
  new_f.write(content)
  new_f.close()
  # print("从%s--->到%s 复制文件%s成功!" % (old_folder_name, new_folder_name, file_name))
  q.put(file_name)
def main():
  # 1.获取用户要copy的文件夹名称
  old_folder_name = input("请输入要copy的文件夹:")
  # 2.创建一个新的文件夹
  try:
    new_folder_name = old_folder_name + "复件"
    os.mkdir(new_folder_name)
  except:
    pass
  # 3.获取所有待copy的文件名称 listdir()
  file_names = os.listdir(old_folder_name)
  print(file_names)
  # 4.创建进程池
  po = multiprocessing.Pool(2)
  # 5.创建一个队列
  q = multiprocessing.Manager().Queue()
  # 6.向进程池中添加copy文件的任务
  for file_name in file_names:
    po.apply_async(copy_file, args=(q,file_name, old_folder_name, new_folder_name))
  po.close()
  # po.join()
  all_file_num = len(file_names) # 统计所有的文件个数
  copy_ok_num = 0
  while True:
    file_name = q.get()
    # print("已经完成copy :%s" % file_name)
    copy_ok_num += 1
    print("\r复制的进度为:%.2f %%" % (copy_ok_num*100/all_file_num),end='')
    if copy_ok_num >= all_file_num:
      break
if __name__ == '__main__':
  main()

python多线程案例之多任务copy文件完整实例

python多线程案例之多任务copy文件完整实例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
Python之父谈Python的未来形式
Jul 01 Python
Python 描述符(Descriptor)入门
Nov 20 Python
python3读取MySQL-Front的MYSQL密码
May 03 Python
pyspark 读取csv文件创建DataFrame的两种方法
Jun 07 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
python删除字符串中指定字符的方法
Aug 13 Python
对IPython交互模式下的退出方法详解
Feb 16 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 Python
详解基于python的图像Gabor变换及特征提取
Oct 26 Python
python 离散点图画法的实现
Apr 01 Python
jenkins配置python脚本定时任务过程图解
Oct 29 #Python
pygame实现成语填空游戏
Oct 29 #Python
Python多线程及其基本使用方法实例分析
Oct 29 #Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 #Python
pygame实现非图片按钮效果
Oct 29 #Python
线程安全及Python中的GIL原理分析
Oct 29 #Python
pygame实现贪吃蛇游戏(下)
Oct 29 #Python
You might like
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
python多重继承实例
2014/10/11 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
Python selenium的基本使用方法分析
2019/12/21 Python
基于python实现计算两组数据P值
2020/07/10 Python
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
预备党员转正思想汇报
2014/01/12 职场文书
《灯光》教学反思
2014/02/08 职场文书
学习雷锋寄语大全
2014/04/11 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript