【发布时间】:2010-12-26 09:08:41
【问题描述】:
我正在使用来自this thread 的代码来限制我的下载速率。
如何将部分下载恢复与速率限制代码合并?我发现的示例使用urlopen 而不是urlretrieve,而RateLimit 类依赖于urlretrieve。
我想要一个控制部分下载的外部函数,而不必更改RateLimit 类:
from throttle import TokenBucket, RateLimit
def retrieve_limit_rate(url, filename, rate_limit):
"""Fetch the contents of urls"""
bucket = TokenBucket(10*rate_limit, rate_limit)
print "rate limit = %.1f kB/s" % (rate_limit,)
print 'Downloading %s...' % filename
rate_limiter = RateLimit(bucket, filename)
#
# What do I put here to allow resuming files?
#
return urllib.urlretrieve(url, filename, rate_limiter)
【问题讨论】:
-
不重复因为:urllib.urlretrieve 可以使用类 RateLimit 限制速率。 urllib2.urlopen 可以恢复文件,但不能限制速率。需要一种结合速率限制和文件恢复的方法
标签: python limit rate resume-download