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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
Python实现网站文件的全备份和差异备份
Nov 30 Python
Python入门之三角函数atan2()函数详解
Nov 08 Python
opencv python 2D直方图的示例代码
Jul 20 Python
Django 多环境配置详解
May 14 Python
Python中的asyncio代码详解
Jun 10 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 Python
python help函数实例用法
Dec 06 Python
matplotlib grid()设置网格线外观的实现
Feb 22 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
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
PHP 将dataurl转成图片image方法总结
2016/10/14 PHP
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
Python可跨平台实现获取按键的方法
2015/03/05 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
简单学习Python多进程Multiprocessing
2017/08/29 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
pyqt5实现登录界面的模板
2020/05/30 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
Python实现自动访问网页的例子
2020/02/21 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
python中wx模块的具体使用方法
2020/05/15 Python
python 实现性别识别
2020/11/21 Python
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
广州迈达威.net面试题目
2012/03/10 面试题
爱国主义教育活动总结
2014/05/07 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
导游词之河北野三坡
2019/12/11 职场文书