python程序暂停和继续_如何“暂停”和“继续”下载工作?

在python中,可以执行以下操作:import urllib, os

class myURLOpener(urllib.FancyURLopener):

"""Create sub-class in order to overide error 206. This error means a

partial file is being sent,

which is ok in this case. Do nothing with this error.

"""

def http_error_206(self, url, fp, errcode, errmsg, headers, data=None):

pass

loop = 1

dlFile = "2.6Distrib.zip"

existSize = 0

myUrlclass = myURLOpener()

if os.path.exists(dlFile):

outputFile = open(dlFile,"ab")

existSize = os.path.getsize(dlFile)

#If the file exists, then only download the remainder

myUrlclass.addheader("Range","bytes=%s-" % (existSize))

else:

outputFile = open(dlFile,"wb")

webPage = myUrlclass.open("http://localhost/%s" % dlFile)

#If the file exists, but we already have the whole thing, don't download again

if int(webPage.headers['Content-Length']) == existSize:

loop = 0

print "File already downloaded"

numBytes = 0

while loop:

data = webPage.read(8192)

if not data:

break

outputFile.write(data)

numBytes = numBytes + len(data)

webPage.close()

outputFile.close()

for k,v in webPage.headers.items():

print k, "=", v

print "copied", numBytes, "bytes from", webPage.url

它只适用于http dls

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值