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编写脚本使IE实现代理上网的教程
Apr 23 Python
python如何把嵌套列表转变成普通列表
Mar 20 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
python中pip的安装与使用教程
Aug 10 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
Python使用reportlab模块生成PDF格式的文档
Mar 11 Python
python同步两个文件夹下的内容
Aug 29 Python
python单例模式原理与创建方法实例分析
Oct 26 Python
Pandas-Cookbook 时间戳处理方式
Dec 07 Python
Python正则表达式急速入门(小结)
Dec 16 Python
Django之富文本(获取内容,设置内容方式)
May 21 Python
详解python tcp编程
Aug 24 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读取html并截取字符串的简单代码
2009/11/30 PHP
解析argc argv在php中的应用
2013/06/24 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
JavaScript中自定义事件用法分析
2014/12/23 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
js实现tab切换效果
2017/02/16 Javascript
react-router中的属性详解
2017/06/01 Javascript
vue elementUI tree树形控件获取父节点ID的实例
2018/09/12 Javascript
python如何通过protobuf实现rpc
2016/03/06 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
浅析python 字典嵌套
2020/09/29 Python
pycharm永久激活超详细教程
2020/10/29 Python
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
旅游网创业计划书
2014/01/31 职场文书
银行求职自荐书
2014/06/25 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
2019年教师入党申请书
2019/06/27 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python