python生成器/yield协程/gevent写简单的图片下载器功能示例
作者:以梦为马越骑越傻 发布时间:2022-02-25 10:08:03
标签:python,生成器,yield协程,gevent图片下载器
本文实例讲述了python生成器/yield协程/gevent写简单的图片下载器功能。分享给大家供大家参考,具体如下:
1、生成器:
'''第二种生成器'''
# 函数只有有yield存在就是生成器
def test(i):
while True:
i += 1
res = yield i
print(res)
i += 1
return res
def main():
t = test(1) # 创建生成器对象
print(next(t)) # next第一次执行从上到下,yield是终点
print(next(t))
print(t.send(5))
if __name__ == '__main__':
main()
运行结果:
2
None
4
5
6
2、yield协程demo:
def run1():
while True:
print('run1____')
yield
def run2():
while True:
print('run2____')
yield
def main():
while True:
next(run1())
next(run2())
if __name__ == '__main__':
main()
3、gevent写简单的下载图片
import gevent
import requests,lxml
# from gevent import monkey
# monkey.patch_all()
def get_pic(url, list):
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
response = requests.get(url, headers=headers)
with open('./pic/'+str(list.pop(0)) + '.png', 'wb') as f:
f.write(response.content)
def get_pic_name_list():
def main():
get_pic_name_list()
list = [x for x in range(9999)]
gevent.joinall([
gevent.spawn(get_pic, 'http://pic8.iqiyipic.com/image/20181008/eb/af/v_116880780_m_601_m11_180_236.jpg', list),
gevent.spawn(get_pic, 'http://pic6.iqiyipic.com/image/20181004/a2/2b/v_112874372_m_601_m15_180_236.jpg', list)
])
if __name__ == '__main__':
main()
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/weixin_42670402/article/details/83021436
0
投稿
猜你喜欢
- 一、进程介绍进程:正在执行的程序,由程序、数据和进程控制块组成,是正在执行的程序,程序的一次执行过程,是资源调度的基本单位。程序:没有执行的
- 特征选择时困难耗时的,也需要对需求的理解和专业知识的掌握。在机器学习的应用开发中,最基础的是特征工程。——吴恩达1.数据预处理数据预处理需要
- --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --
- 如下所示:import osimport timeimport subprocesssubprocess.Popen(r'cmd
- 先给大家展示效果图,感觉不错,请参考实现代码。具体代码如下所示:#!/usr/bin/env python# -*- coding:utf-
- 粘贴一下部分的多进程代码if __name__ == '__main__': "&quo
- [root@vm1 ~]# rpm -ivh groundwork-foundation-pro-1.6.1-67.noarch.rpm P
- HTTP上传的文件的原理HTTP协议的文件上传是通过HTTP POST请求实现的,使用multipart/form-data格式将待上传的文
- 1. 什么是网络爬虫简单来说,就是构建一个程序,以自动化的方式从网络上下载、解析和组织数据。就像我们浏览网页的时候,对于我们感兴趣的内容我们
- 这篇文章主要介绍了python构造函数init实例方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 1. composer 安装 PDF组件composer require setasign/fpdicomposer require set
- --SQL正则替换函数 代码如下:CREATE function dbo.regexReplace ( @source ntext, --
- 注:所有文字,除注明网站类型外,其他均针对企业站点.请随时注意留言,若修改则会在首页提示文字里标注.若牵扯到业务方面的问题,我可能不会做过多
- 在oracle数据库迁移至mysql数据库,除了oracle数据库模型移到mysql外,还一个重要环节就是要将oracle数据库的数据移到m
- 网站用户为什么注册?这个问题在平时我们讨论的并不多。我们常常单纯的在设想如何简化注册流程,如何从细节的关怀入手避免用户注册时填写错误信息造成
- 一、爬山法简介爬山法(climbing method)是一种优化算法,其一般从一个随机的解开始,然后逐步找到一个最优解(局部最优)。 假定所
- 第一步:python解释器,到网上下载安装下就行。网址:https://www.python.org/downloads/windows/值
- TensorFlow是Google公司2015年11月开源的第二代深度学习框架,是第一代框架DistBelief的改进版本. TensorF
- 前言python号称是编程界的万金油,那么是否可以做个读取电脑网卡wifi并暴力破解的小脚本呢?在这个基础上为了方便体验是不是可以将其打包成
- 第一步:通过ip138来爬取外网ip第二步:通过python的smtplib模块和email来发送邮件,具体用法去网上搜索,下面是代码示例: