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设置socket代理的方法
Jan 14 Python
Python中使用PyQt把网页转换成PDF操作代码实例
Apr 23 Python
python的变量与赋值详细分析
Nov 08 Python
windows 下python+numpy安装实用教程
Dec 23 Python
python和pygame实现简单俄罗斯方块游戏
Feb 19 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
python 二维数组90度旋转的方法
Jan 28 Python
Pandas之DataFrame对象的列和索引之间的转化
Jun 25 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
用python求一重积分和二重积分的例子
Dec 06 Python
Django对接支付宝实现支付宝充值金币功能示例
Dec 17 Python
python安装dlib库报错问题及解决方法
Mar 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项目的方法
2006/10/09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
浅谈scrapy 的基本命令介绍
2017/06/13 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
应聘自荐信
2013/12/14 职场文书
文明寝室标语
2014/06/13 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
记者节感言
2015/08/03 职场文书
初中班长竞选稿
2015/11/20 职场文书
2016暑期校本培训心得体会
2016/01/08 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
python字符串的多行输出的实例详解
2021/06/08 Python
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA