python修煉day33!
今日內(nèi)容概述:
協(xié)程、正則表達(dá)式
昨日回顧
迭代器
iter next
生成器
yield 關(guān)鍵字 代碼執(zhí)行到 yield 就會停止
next 進(jìn)行解阻塞
列表推導(dǎo)式: a = [x for x in range(10)]
生成器表達(dá)式:把列表推導(dǎo)式的 [] 改成 ()
生成器函數(shù):加了 yield 的函數(shù)
今日內(nèi)容
gevent 庫
踩的坑:python3.7 版本對這個庫不太友好,重新?lián)Q成 python 3.6.4 的32位版本。
gevent 是對 greenlet 庫進(jìn)行封裝,greenlet 是對 yield 關(guān)鍵字進(jìn)行封裝
gevent.sleep() 在協(xié)程等待的時候,先去執(zhí)行下一個任務(wù)以此來實(shí)現(xiàn)多任務(wù)
from gevent import monkey
monkey.patch_all() # monkey 可以把代碼中所有的延時換成 gevent
gevent.joinall([]) 推薦這種方式
"""簡單的爬蟲,使用協(xié)程并發(fā)來下載兩張斗魚圖片"""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()協(xié)程
協(xié)程依賴于線程,線程依賴于進(jìn)程。進(jìn)程消耗資源最大,線程其次,協(xié)程最小,正則
import re
ret = re.match(正則表達(dá)式,要匹配的數(shù)據(jù))
ret.group() # 提取匹配出來的數(shù)據(jù)

發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
7月8日立即報名>> 【在線會議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7.30-8.1火熱報名中>> 全數(shù)會2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身智能機(jī)器人產(chǎn)業(yè)技術(shù)創(chuàng)新應(yīng)用論壇
-
免費(fèi)參會立即報名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題