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入门篇之函数
Oct 20 Python
Python实现过滤单个Android程序日志脚本分享
Jan 16 Python
关于Django外键赋值问题详解
Aug 13 Python
Python实现的密码强度检测器示例
Aug 23 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
Tensorflow的梯度异步更新示例
Jan 23 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
Python的PIL库中getpixel方法的使用
Apr 09 Python
python导入库的具体方法
Jun 18 Python
简单的命令查看安装的python版本号
Aug 28 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 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 parse_url 一个好用的函数
2009/10/03 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
文本链接逐个出现的js脚本
2007/12/12 Javascript
js的一些常用方法小结
2011/06/29 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
Node.js 实现抢票小工具 & 短信通知提醒功能
2019/10/22 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
python实现比较文件内容异同
2018/06/22 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
大学生护理专业自荐信
2013/10/03 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
门面房租房协议书
2014/08/20 职场文书
Feign调用传输文件异常的解决
2021/06/24 Java/Android