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 相关文章推荐
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
Python多线程下载文件的方法
Jul 10 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
Flask框架配置与调试操作示例
Jul 23 Python
Python 调用 zabbix api的方法示例
Jan 06 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 Python
python图片二值化提高识别率代码实例
Aug 24 Python
python进程间通信Queue工作过程详解
Nov 01 Python
基于python模拟bfs和dfs代码实例
Nov 19 Python
python实现的人脸识别打卡系统
May 08 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源代码数组统计count分析
2011/08/02 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
javascript 写类方式之九
2009/07/05 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
Python简单实现enum功能的方法
2016/04/25 Python
详解Python中is和==的区别
2019/03/21 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
一篇.NET面试题
2014/09/29 面试题
高中自我评价分享
2013/12/05 职场文书
网上快餐厅创业计划书
2014/02/01 职场文书
舞蹈毕业生的自我评价
2014/03/05 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
商业用房租赁协议书
2014/10/13 职场文书
七年级地理教学计划
2015/01/22 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
阳光体育运动标语口号
2015/12/26 职场文书
Pillow图像处理库安装及使用
2022/04/12 Python