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和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
Python3实现获取图片文字里中文的方法分析
Dec 13 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
pygame库实现移动底座弹球小游戏
Apr 14 Python
tensorflow 实现数据类型转换
Feb 17 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
Feb 25 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
详细分析Python可变对象和不可变对象
Jul 09 Python
Python实现播放和录制声音的功能
Aug 12 Python
pytorch 带batch的tensor类型图像显示操作
May 20 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
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
怎么使 Mysql 数据同步
2006/10/09 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
php基础教程 php内置函数实例教程
2012/08/21 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
linux下php上传文件注意事项
2016/06/11 PHP
php fread读取文件注意事项
2016/09/24 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
2017/03/07 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
Python实现学生成绩管理系统
2020/04/05 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
Python实现代码统计工具
2019/09/19 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书