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的ORM框架中的SQLAlchemy库的映射关系
Apr 25 Python
深入理解python中的atexit模块
Mar 07 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
Python装饰器原理与用法分析
Apr 30 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
python获取本机所有IP地址的方法
Dec 26 Python
对Python3 序列解包详解
Feb 16 Python
python+opencv实现车牌定位功能(实例代码)
Dec 24 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
Mar 10 Python
Python实现上下文管理器的方法
Aug 07 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 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实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
php二维数组排序详解
2013/11/06 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
jQuery插件开发基础简单介绍
2013/01/07 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
Python实现自动发送邮件功能
2021/03/02 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
浅谈flask源码之请求过程
2018/07/26 Python
详解Python self 参数
2019/08/30 Python
Python使用configparser库读取配置文件
2020/02/22 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
毕业生求职简历中的自我评价
2013/10/18 职场文书
领导干部考察材料
2014/02/08 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
人民调解协议书范本
2014/10/11 职场文书
倡议书作文
2015/01/19 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
工作态度不好检讨书
2015/05/06 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
工作态度怎么写
2015/06/25 职场文书
世界十大狙击步枪排行榜
2022/03/20 杂记