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单链表的简单实现方法
Sep 23 Python
使用Python的Bottle框架写一个简单的服务接口的示例
Aug 25 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
对python pandas 画移动平均线的方法详解
Nov 28 Python
Python 实现子类获取父类的类成员方法
Jan 11 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
Python+Selenium使用Page Object实现页面自动化测试
Jul 14 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
Python Tkinter模块 GUI 可视化实例
Nov 20 Python
Python实现分数序列求和
Feb 25 Python
利用python实现汉诺塔游戏
Mar 01 Python
总结python多进程multiprocessing的相关知识
Jun 29 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
BBS(php & mysql)完整版(四)
2006/10/09 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
10款实用的PHP开源工具
2015/10/23 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
理解javascript回调函数
2014/12/28 Javascript
javascript的BOM
2016/05/03 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
关于Python解包知识点总结
2020/05/05 Python
python中取绝对值简单方法总结
2020/07/24 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
python性能测试工具locust的使用
2020/12/28 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
学生实习介绍信
2014/01/15 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python