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函数帮助查询小工具
Mar 13 Python
详细探究Python中的字典容器
Apr 14 Python
python在控制台输出进度条的方法
Jun 20 Python
python字符串str和字节数组相互转化方法
Mar 18 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
《与孩子一起学编程》python自测题
May 27 Python
Python对数据进行插值和下采样的方法
Jul 03 Python
python中嵌套函数的实操步骤
Feb 27 Python
Python简单I/O操作示例
Mar 18 Python
利用rest framework搭建Django API过程解析
Aug 31 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
Apr 16 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实现微信公众平台音乐点播
2014/03/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
javascript 全角转换实现代码
2009/07/17 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
2010/08/03 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
js读取本地文件的实例
2017/12/22 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
python中的print()输出
2019/04/12 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
2019年.net常见面试问题
2012/02/12 面试题
2014年道德讲堂实施方案
2014/03/05 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
公务员检讨书
2014/11/01 职场文书
新郎婚礼答谢词
2015/01/04 职场文书
校园广播站开场白
2015/06/01 职场文书
农村婚庆主持词
2015/06/29 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书