一个一个下载 要2个多小时。就直接起了个线程池。效果明显。
import urllib2
from urlparse import urlparse uri = 'http://******/patch****'
d = urllib2.urlopen(uri)
res = urlparse(uri)
f = open('c:/' + res.path, 'wb')
f.write(d.read())
f.close()
print 'over' import urllib2
from urlparse import urlparse
import Queue
import threading mf = open('rest.txt', 'r')
urls = []
while 1:
    line = mf.readline()
    if not line:
        break
    urls.append(line.replace('\r\n', ''))
mf.close() queue = Queue.Queue() class ThreadUrl(threading.Thread):
    def __init__(self, queue, root):
        threading.Thread.__init__(self)
        self.queue = queue
        self.root = root
    
    def run(self):
        while True:
            uri = self.queue.get()
            print uri
            d = urllib2.urlopen(uri)
            res = urlparse(uri)
            f = open(self.root + res.path, 'wb')
            f.write(d.read())
            f.close()
            self.queue.task_done()
            print 'task done'
rootdir = 'C:/pathes/'
for i in range(4):
    t = ThreadUrl(queue, rootdir)
    t.setDaemon(True)
    t.start() for uri in urls:
    queue.put(uri) queue.join()
print 'over'

python多线程 批量下补丁的更多相关文章

  1. python多线程场景下print丢失

    python多线程情况下,print输出会出现丢失的情况,而logging模块的日志输出不会. 以下是示例代码,多运行几次就会发现这个有意思的现象 # coding:utf-8 import thre ...

  2. python多线程批量下载远程图片

    python多线程使用场景:多线程采集, 以及性能测试等 . 数据库驱动类-简单封装下 mysqlDriver.py #!/usr/bin/python3 #-*- coding: utf-8 -*- ...

  3. python 多线程批量传文件

    #!/usr/bin/env python #_*_ coding:utf-8 -*-#autho:leiyong#time:2017-06-05#version: 1.3 import parami ...

  4. Python多线程下的_strptime问题

    Python多线程下的_strptime问题 由于Python的datetime和time中的_strptime方法不支持多线程,运行时会报错: import datetimeimport threa ...

  5. python 多线程两种实现方式,Python多线程下的_strptime问题,

    python 多线程两种实现方式 原创 Linux操作系统 作者:杨奇龙 时间:2014-06-08 20:24:26  44021  0 目前python 提供了几种多线程实现方式 thread,t ...

  6. python多线程爬虫+批量下载斗图啦图片项目(关注、持续更新)

    python多线程爬虫项目() 爬取目标:斗图啦(起始url:http://www.doutula.com/photo/list/?page=1) 爬取内容:斗图啦全网图片 使用工具:requests ...

  7. Day9 - Python 多线程、进程

    Python之路,Day9, 进程.线程.协程篇   本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线 ...

  8. Python多线程、进程、协程

    本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...

  9. SAP下载报表速度慢?为啥你不试试python多线程

    由于SAP系统自身原因,或者公司内部ABAP代码的算法效率不高,我们经常遇到,手工执行某个事务代码下载某个报表会非常耗时,小爬曾见过公司某个自开发的报表,单家公司的数据下载超过半小时.如果我们刚好接到 ...

随机推荐

  1. 自定义QT事件

    qtuserclass 1.事件ID 本质上就是一个整型值.0-999作为系统保留字段,自定义事件从QEvent::User(也就是1000)开始, 例如: #define MY_EVENT QEve ...

  2. Android5.0之Activity的转场动画

    Activity的转场动画很早就有,但是太过于单调,样式也不好看,于是Google在Android5.0之后,又推出的新的转场动画,效果还是非常炫的,今天我们一起来看一下. 1.旧转场动画回顾 首先我 ...

  3. FineUI登入的例子中遇到的一些问题

    对于在使用FineUI这个例子的时候我们首先就是要在form标签内部添加一个 第一步. <ext:PageManager ID="PageManager1" runat=&q ...

  4. iOS之NSURLSessionDownloadTask下载

    #import "ViewController.h" @interface ViewController ()<NSURLSessionDownloadDelegate,NS ...

  5. addEventListener 用法

    addEventListener 用于注册事件处理程序,IE 中为 attachEvent,我们为什么讲 addEventListener 而不讲 attachEvent 呢?一来 attachEve ...

  6. C#如何配置应用程序域

    转载:http://www.csharpwin.com/csharpspace/9175r9023.shtml 您可以使用 AppDomainSetup 类,为新应用程序域提供带有配置信息的公共语言运 ...

  7. 解决Android Studio启动速度慢的问题。避免每次启动Android Studio都要fetching Android sdk compoment information。

    Android Studio每次启动都要去fetching sdk,由于Android sdk 官网在大陆连不上,所以每次启动时界面都会停在那里很久. 解决办法就是设置取消每次fetching sdk ...

  8. JS自动合并表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. SQL 编译与重编译

    编译的含义 当SQLSERVER收到任何一个指令,包括查询(query).批处理(batch).存储过程.触发器(trigger) .预编译指令(prepared statement)和动态SQL语句 ...

  10. html-----009

    </head> <!-- 通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面. <p> 垂直框架</p> 本例演示:如何使用三份不同的文档制作一个垂直框 ...