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 sort、sorted高级排序技巧
Nov 21 Python
Python的Urllib库的基本使用教程
Apr 30 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
Python实现的个人所得税计算器示例
Jun 01 Python
Python之用户输入的实例
Jun 22 Python
python 获取毫秒数,计算调用时长的方法
Feb 20 Python
Python实现FTP文件传输的实例
Jul 07 Python
python多环境切换及pyenv使用过程详解
Sep 27 Python
利用Python的turtle库绘制玫瑰教程
Nov 23 Python
python 实现控制鼠标键盘
Nov 27 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 Python
浅谈Python数学建模之线性规划
Jun 23 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核心代码分析require和include的区别
2011/01/02 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
Python 字典(Dictionary)操作详解
2014/03/11 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
linux系统都有哪些运行级别
2016/03/26 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
高中生学习生活的自我评价
2013/11/27 职场文书
团队激励口号
2014/06/06 职场文书
公司股东合作协议书
2014/09/14 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
网络妈妈观后感
2015/06/08 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS