使用进程池的方法模拟迅雷下载方式

from multiprocessing import Pool
import timedef down_load(movie_name):for i in range(5):print('电影:{},下载进度{}%'.format(movie_name, (i / 4 * 100)))time.sleep(1)return movie_namedef alert(movie_name):print('恭喜{}下载完成了...'.format(movie_name))if __name__ == '__main__':movie_lst = ['西红柿首富', '功夫小子', '功夫熊猫', '叶问', '功夫', '战狼', '红海行动']pool = Pool(3)for movie_name in movie_lst:pool.apply_async(down_load, (movie_name,), callback=alert)pool.close()pool.join()

运行结果:

电影:西红柿首富,下载进度0.0%
电影:功夫小子,下载进度0.0%
电影:功夫熊猫,下载进度0.0%
电影:功夫小子,下载进度25.0%
电影:西红柿首富,下载进度25.0%
电影:功夫熊猫,下载进度25.0%
电影:功夫小子,下载进度50.0%
电影:西红柿首富,下载进度50.0%
电影:功夫熊猫,下载进度50.0%
电影:功夫小子,下载进度75.0%
电影:西红柿首富,下载进度75.0%
电影:功夫熊猫,下载进度75.0%
电影:功夫小子,下载进度100.0%
电影:西红柿首富,下载进度100.0%
电影:功夫熊猫,下载进度100.0%
电影:叶问,下载进度0.0%
恭喜功夫小子下载完成了...
电影:功夫,下载进度0.0%
恭喜西红柿首富下载完成了...
电影:战狼,下载进度0.0%
恭喜功夫熊猫下载完成了...
电影:叶问,下载进度25.0%
电影:功夫,下载进度25.0%
电影:战狼,下载进度25.0%
电影:叶问,下载进度50.0%
电影:功夫,下载进度50.0%
电影:战狼,下载进度50.0%
电影:叶问,下载进度75.0%
电影:功夫,下载进度75.0%
电影:战狼,下载进度75.0%
电影:功夫,下载进度100.0%
电影:叶问,下载进度100.0%
电影:战狼,下载进度100.0%
恭喜叶问下载完成了...
电影:红海行动,下载进度0.0%
恭喜功夫下载完成了...
恭喜战狼下载完成了...
电影:红海行动,下载进度25.0%
电影:红海行动,下载进度50.0%
电影:红海行动,下载进度75.0%
电影:红海行动,下载进度100.0%
恭喜红海行动下载完成了...
其中用到了回调函数
回调函数:
进程池中任何一个任务一旦处理完了,就立刻告知主进程,我好了
你可以处理我的结果了,主进程则可以调用一个函数去处理这个结果
该函数就是回调函数
from multiprocessing import Pool
import time
def test(num):print('开始了...',num)time.sleep(1)print('end...',num)return numdef test1(num):print('读一下数字--->',num)if __name__ == '__main__':pool = Pool(3)for i in range(5):pool.apply_async(test,(i,),callback=test1)pool.close()pool.join()print('程序结束了...')

运行结果:

开始了... 0
开始了... 1
开始了... 2
end... 0
开始了... 3
读一下数字---> 0
end... 1
开始了... 4
读一下数字---> 1
end... 2
读一下数字---> 2
end... 3
读一下数字---> 3
end... 4
读一下数字---> 4
程序结束了...

程序中   test1() 就是回调函数,接收test() 函数中 return num 返回的num值

python基础案例:迅雷下载相关推荐

  1. python基础教程免费下载-Python基础教程第三版PDF电子书免费下载

    <Python基础教程(第3版)>是2018年人民邮电出版社出版的图书,作者是[挪]Magnus Lie Hetland.该书全面介绍了Python的基础知识和基本概念,包括列表.元组.字 ...

  2. python基础教程视频下载-Python入门到精通视频教程下载[21课程全]

    Python入门到精通视频教程 初级共21节课 python编程入门,针对0基础就python语言基础语法的各个点逐步讲解,由浅入深,通俗易懂,层层深入.提取码: python编程入门,针对0基础就p ...

  3. python基础教程3下载-Python基础教程第3版中国PDF电子书免费下载

    本书包括 Python 程序设计的方方面面:首先,从 Python 的安装开始,随后介绍了 Python 的基础知识和基本概念,包括列表.元组.字符串.字典以及各种语句:然后,循序渐进地介绍了一些相对 ...

  4. python基础教程免费下载-Python基础教程(第2版)

    <Python基础教程(第2版)>内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合各个层次的Python开发人员阅读参考.<Python基础教程(第2版)> ...

  5. python基础教程免费下载-《Python机器学习基础教程》高清版免费PDF下载

    Python机器学习基础教程-[德] 安德里亚斯·穆勒(Andreas C.Müller)[美]莎拉·吉多(Sarah Guido) 著,张亮(hysic) 译 下载地址1:网盘下载 下载地址2:网盘 ...

  6. Python爬虫-用迅雷下载电影

    前段时间用Python写了一个爬取豆瓣电影的脚本,可以把评分高于8.0和评价人数高于10w人的电影保存下来,保存的格式是json的, 然后熬夜用c#写了一个界面软件可以显示和读取电影信息, 然后打算加 ...

  7. Python基础案例-数据可视化

    json数据格式转换 一种轻量级的数据交互格式,可以按照json规定的格式去组织.封装数据 本质上是带有特定格式的字符串,不同语言间的中转数据格式 功能:编程语言中流通的数据格式,不同语言数据格式不同 ...

  8. Python 批量创建迅雷下载任务

    有时候下载数据集用迅雷更快一些,当要下载的链接过多且格式统一时,可以通过python实现创建批量任务. from win32com.client import Dispatcho = Dispatch ...

  9. python基础案例教程_python基础教程 10-11例子如何执行

    展开全部 10. 模块相关 Python的标准安装包包括一组模块,称为标准库(standard library). 10.1 模块 10.1.1 模块是程序 # hello.pyprint " ...

最新文章

  1. wince中对ini文件的操作
  2. Python发送邮件以及对其封装
  3. sql order by 降序_数仓面试|四个在工作后才知道的SQL密技
  4. LeetCode-461. 汉明距离(python3)
  5. JUnit 5 –架构
  6. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值...
  7. 经验 | 一目了然,用动图展示 10 大 Git 命令
  8. 使用WM_QUIT终止线程
  9. yii2的分页和ajax分页
  10. VS2019怎么运行cpp文件
  11. ANC主动降噪技术的原理
  12. android root写入文件,android中root用户无法往某些目录写入文件解决方法
  13. mysql表结构设计工具_表结构设计器(EZDML)
  14. 微信小程序(八 配置和请求)
  15. 【转】葡萄酒的干型、半干型、半甜型、甜型是什么意思?
  16. [案例分享]根据现有产品数据,如何做一次数据分析呢?
  17. 运城计算机学校耻 中学校,山西这几所中学,“一本”上线率过半,“名校收割机”实至名归...
  18. keil uvision4 调试教程
  19. 机械键盘轴的区别用什么轴比较好 机械键盘轴的选择
  20. BTA分论坛现场直击|区块链与投资,不是“钱”那么简单!

热门文章

  1. (4)马屁股决定你的脑袋
  2. Bootstrap+Jquery的日历效果实现
  3. python的excell库_扣丁学堂Python基础教程之Excel处理库openpyxl详解
  4. UM2 3D 打印机 DIY 实践 (6)限位开关
  5. 浙大计算机学院培养方案,浙大计算机专业培养方案2013
  6. 做一个微信小程序需要多少钱?两种示例
  7. Python求数据集的四分位点
  8. python最小二乘法拟合直线
  9. 初级程序员经常犯的10种错误,网友:工作几年了都还在犯
  10. ViT:Transformer在CV领域的开山之作