亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python基于queue和threading實現(xiàn)多線程下載實例

 更新時間:2014年10月08日 08:44:48   投稿:shichen2014  
這篇文章主要介紹了python基于queue和threading實現(xiàn)多線程下載實例,是比較實用的技巧,需要的朋友可以參考下

本文實例講述了python基于queue和threading實現(xiàn)多線程下載的方法,分享給大家供大家參考。具體方法如下:

主代碼如下:

  #download worker 
  queue_download = Queue.Queue(0) 
  DOWNLOAD_WORKERS = 20 
  for i in range(DOWNLOAD_WORKERS): 
    DownloadWorker(queue_download).start() #start a download worker 
     
  for md5 in MD5S: 
    queue_download.put(md5) 
  for i in range(DOWNLOAD_WORKERS): 
    queue_download.put(None) 

其中downloadworkers.py
類繼承 threading.Thread,重載run方法..在__init__中調(diào)用threading.Thread.__init__(self),
在run方法中實現(xiàn)耗時的操作

import threading 
import Queue 
import md5query 
import DOM 
import os,sys 

class DownloadWorker(threading.Thread): 
  """""" 
 

  def __init__(self, queue): 
    """Constructor""" 
    self.__queue = queue 
    threading.Thread.__init__(self) 
 
 
  def run(self): 
    while 1: 
      md5 = self.__queue.get() 
      if md5 is None: 
        break #reached end of queue 
      #this is a time-cost produce 
      self._down(md5) 
 
      print "task:", md5, "finished" 
 
  def _down(self, md5): 
    config = { 
      'input':sys.stdin,  
      'output':'./samples',  
      'location':'xxx',  
      'has-fn':False,  
      'options':{'connect.timeout':60, 'timeout':3600},  
      'log':file('logs.txt', 'w'),  
    } 
    print 'download %s...' % (md5) 
    try: 
      data = downloadproc(config['location'], config['options'])#我的下載過程 
      if data: 
        dom, fileData = md5query.splited(data) 
        filename = md5 
        if config['has-fn']: 
          filename = '%s_%s' % (md5, dom.nodeValue2('xxxxxxx', '').encode('utf-8'))#這是我的下載的方法 
        f = file(os.path.join(config['output'], filename), 'w') 
        f.write(fileData) 
        f.close() 
 
        print '%s\tok' % (md5) 
      else: 
        print>>config['log'], '%s\t%s' % (md5, 'failed') 
    except Exception, e: 
      print>>config['log'], '%s\t%s' % (md5, str(e))

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

相關(guān)文章

  • Python Pandas分組聚合的實現(xiàn)方法

    Python Pandas分組聚合的實現(xiàn)方法

    這篇文章主要介紹了Python Pandas分組聚合的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python帶參數(shù)的裝飾器運行原理解析

    Python帶參數(shù)的裝飾器運行原理解析

    這篇文章主要介紹了Python帶參數(shù)的裝飾器運行原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 詳解python中的json的基本使用方法

    詳解python中的json的基本使用方法

    本篇文章主要介紹了python中的json的基本使用方法,在Python中使用json的時候,主要也就是使用json模塊,json是以一種良好的格式來進(jìn)行數(shù)據(jù)的交互,有興趣的可以了解一下。
    2016-12-12
  • CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程

    CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程

    Centos是目前最為流行的Linux服務(wù)器系統(tǒng),其默認(rèn)的Python 2.x,這篇文章主要給大家分享了關(guān)于在CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程,文中將升級的步驟一步步的介紹的非常詳細(xì),對大家的理解和學(xué)習(xí)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 基于Python編寫一個DOS命令輔助工具

    基于Python編寫一個DOS命令輔助工具

    在日常系統(tǒng)管理和維護(hù)工作中,執(zhí)行DOS(Disk?Operating?System)命令是一項必不可少的任務(wù),下面我們就來看看如何使用Python編寫一個簡單的DOS命令輔助工具,簡化系統(tǒng)管理任務(wù)吧
    2024-01-01
  • 對python中的控制條件、循環(huán)和跳出詳解

    對python中的控制條件、循環(huán)和跳出詳解

    今天小編就為大家分享一篇對python中的控制條件、循環(huán)和跳出詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python3.x和Python2.x的區(qū)別介紹

    Python3.x和Python2.x的區(qū)別介紹

    python3.x與python2.x區(qū)別很大,這里搜索了一些相關(guān)內(nèi)容,記錄在此,供自己學(xué)習(xí)參考,有需要的朋友不妨看看
    2013-02-02
  • 利用python判斷字母大小寫的幾種方法小結(jié)

    利用python判斷字母大小寫的幾種方法小結(jié)

    在開發(fā)過程中有時候我們需要判斷一個字符串是否是小寫形式,下面這篇文章主要給大家介紹了關(guān)于利用python判斷字母大小寫的幾種方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Django 再談一談json序列化

    Django 再談一談json序列化

    這篇文章主要介紹了Django json序列化,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 十分鐘利用Python制作屬于你自己的個性logo

    十分鐘利用Python制作屬于你自己的個性logo

    這篇文章主要給大家介紹了關(guān)于十分鐘如何利用Python制作屬于你自己的個性logo的相關(guān)資料,主要利用的是詞云實現(xiàn)這個效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友下面來一起看看吧
    2018-05-05

最新評論