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进行稳定可靠的文件操作详解
Dec 31 Python
Python实现计算最小编辑距离
Mar 17 Python
简单实现python进度条脚本
Dec 18 Python
python list是否包含另一个list所有元素的实例
May 04 Python
django DRF图片路径问题的解决方法
Sep 10 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
Dec 10 Python
python 字符串常用方法汇总详解
Sep 16 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
python shutil文件操作工具使用实例分析
Dec 25 Python
python实现udp聊天窗口
Mar 31 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 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
php date与gmdate的获取日期的区别
2010/02/08 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
jquery实现盒子下拉效果示例代码
2013/09/12 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
react build 后打包发布总结
2018/08/24 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
英语演讲稿3分钟
2014/04/29 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
写给老师的感谢信
2015/01/20 职场文书
高三英语教学计划
2015/01/23 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
2016新年致辞
2015/08/01 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python