python线程池的实现实例

yipeiwu_com6年前Python基础

直接上代码:

复制代码 代码如下:

# -*- coding: utf-8 -*-
import Queue
import threading
import urllib
import urllib2
import os

def down(url,n):
    print 'item '+str(n)+' start '
    filename=urllib2.unquote(url).decode('utf8').split('/')[-1]
    urllib.urlretrieve(url, filename)
    print 'item '+str(n)+' finish '


def worker():
    while True:
        i = q.get()
        url=i[0]
        n=i[1]
        down(url,n)
        q.task_done()


if __name__=="__main__":

    num_worker_threads=100

    f=open('url.txt')
    l=f.readlines()
    q = Queue.Queue()
    for i in range(num_worker_threads):
        t = threading.Thread(target=worker)
        t.daemon = True
        t.start()

    for i in range(0,len(l)):
        q.put((l[i],i))

    q.join()

相关文章

Python tkinter模块中类继承的三种方式分析

本文实例讲述了Python tkinter模块中类继承的三种方式。分享给大家供大家参考,具体如下: tkinter class继承有三种方式。 提醒注意这几种继承的运行方式 一、继承 o...

Python获取SQLite查询结果表列名的方法

本文实例讲述了Python获取SQLite查询结果表列名的方法。分享给大家供大家参考,具体如下: 获得查询结果表的列名: db = sqlite.connect('data.db')...

win10系统下Anaconda3安装配置方法图文教程

win10系统下Anaconda3安装配置方法图文教程

本文主要介绍在 windows 10 系统中安装 Anaconda3 的详细过程。 下载 Anaconda 官网下载地址 目前最新版本是 python 3.6,默认下载也是 Python...

python实现上传下载文件功能

最近刚学python,遇到上传下载文件功能需求,记录下! django web项目,前端上传控件用的是uploadify。 文件上传 - 后台view 的 Python代码如下: @...

Python脚本判断 Linux 是否运行在虚拟机上

在 WebHostingTalk 论坛上有些国外奸商会把虚拟机当作独立服务器卖,去年7月份的时候就有一位中国同胞上当受骗,并在 WHT 上发帖声讨,证据确凿,甚至连服务商自己也承认,回帖...