欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python生成器/yield協(xié)程/gevent寫(xiě)簡(jiǎn)單的圖片下載器功能示例

 更新時(shí)間:2019年10月28日 09:34:20   作者:以夢(mèng)為馬越騎越傻  
這篇文章主要介紹了python生成器/yield協(xié)程/gevent寫(xiě)簡(jiǎn)單的圖片下載器功能,結(jié)合實(shí)例形式分析了python生成器、yield協(xié)程與gevent圖片下載器相關(guān)功能定義與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了python生成器/yield協(xié)程/gevent寫(xiě)簡(jiǎn)單的圖片下載器功能。分享給大家供大家參考,具體如下:

1、生成器:

'''第二種生成器'''
# 函數(shù)只有有yield存在就是生成器
def test(i):
  while True:
    i += 1
    res = yield i
    print(res)
    i += 1
  return res
def main():
  t = test(1) # 創(chuàng)建生成器對(duì)象
  print(next(t)) # next第一次執(zhí)行從上到下,yield是終點(diǎn)
  print(next(t))
  print(t.send(5))
if __name__ == '__main__':
  main()

運(yùn)行結(jié)果:

2
None
4
5
6

2、yield協(xié)程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寫(xiě)簡(jiǎn)單的下載圖片

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()

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論