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中有趣在__call__函数
Jun 21 Python
Python中for循环和while循环的基本使用方法
Aug 21 Python
Python中字符串的常见操作技巧总结
Jul 28 Python
深入理解Python中的super()方法
Nov 20 Python
目前最全的python的就业方向
Jun 05 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
pandas apply多线程实现代码
Aug 17 Python
浅析python 字典嵌套
Sep 29 Python
python 实时调取摄像头的示例代码
Nov 25 Python
python如何正确使用yield
May 21 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-fpm的配置详解
2013/06/03 PHP
php获取错误信息的方法
2015/07/17 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
jQuery+jqmodal弹出窗口实现代码分明
2010/06/14 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
JS正则获取HTML元素的方法
2017/03/31 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
python实现搜索文本文件内容脚本
2018/06/22 Python
Django如何自定义分页
2018/09/25 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
销售业务实习自我鉴定
2013/09/23 职场文书
成人大专自我鉴定范文
2013/10/19 职场文书
税务专业毕业生自荐信
2013/11/10 职场文书
幼儿园秋游感想
2014/03/12 职场文书
综合测评个人总结
2015/03/03 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
小学数学国培研修日志
2015/11/13 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python