订阅
纠错
加入自媒体

python修炼day33!

2019-02-23 09:27
QYFabc
关注

今日内容概述:

协程、正则表达式

昨日回顾

迭代器

iter   next

生成器

yield  关键字    代码执行到 yield 就会停止

next  进行解阻塞

列表推导式: a = [x for x in range(10)]

生成器表达式:把列表推导式的 []  改成 ()

生成器函数:加了 yield 的函数

今日内容

gevent 库

踩的坑:python3.7 版本对这个库不太友好,重新换成 python 3.6.4 的32位版本。

gevent 是对 greenlet 库进行封装,greenlet 是对 yield 关键字进行封装

gevent.sleep()    在协程等待的时候,先去执行下一个任务以此来实现多任务

from gevent import monkey

monkey.patch_all()      # monkey 可以把代码中所有的延时换成 gevent

gevent.joinall([])   推荐这种方式

"""简单的爬虫,使用协程并发来下载两张斗鱼图片"""import urllib.requestimport geventfrom gevent import monkeymonkey.patch_all()def downloader(img_name, img_url):    req = urllib.request.urlopen(img_url)    img_content = req.read()    with open(img_name, "wb") as f:        f.write(img_content)def main():    gevent.joinall([        gevent.spawn(downloader, "3.jpg",                     "https://rpic.douyucdn.cn/appCovers/2017/09/22/1760931_20170922133718_big.jpg"),        gevent.spawn(downloader, "4.jpg",                     "https://rpic.douyucdn.cn/appCovers/2017/09/17/2308890_20170917232900_big.jpg")    ])if __name__ == '__main__':    main()协程

协程依赖于线程,线程依赖于进程。进程消耗资源最大,线程其次,协程最小,正则

import re

ret = re.match(正则表达式,要匹配的数据)

ret.group()  # 提取匹配出来的数据

1  2  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号