怎么用python实现文件的分块下载

怎么用python实现文件的分块下载,第1张

要求:

服务器使用HTTP协议提供下载

服务器支持Range请求头

注意:必须满足以上两点要求,否则下面的代码无效

import os

import sys

import requests

if __name__ == '__main__':

  assert len(sys.argv) >1, '未提供参数,终止'

  if argv[1] == '0':

      start_pos = 0

      end_pos = 2**30-1

      filename = '00.dat'

  elif argv[1] == '1':

      start_pos = 2**30

      end_pos = ''

      filename = '01.dat'

  else:

      raise ValueError('参数无效:%s,终止' % argv[1])

  headers = {

      'Range': 'bytes=%s-%s' % (start_pos, end_pos)

  }

 竖消段 response = requets.get('下载地址', headers=headers, stream=True)

  with open(filename, 'wb') as dat:

      chunk_size = 1024

      for chunk in response.iter_content(chunk_size):

          dat.write(chunk)

  print('%s下载桥信完成' % filename)

使用python 脚本名.py 0下载第一部分为00.dat文件,使用python 脚本余誉名.py 1下载第二部分为01.dat文件。

fp = open(filepath,"rb")

while True:

content = fp.read(10240) #每次埋缺读族核取的10240字节兆液掘的数据

if not content:

break

fp.close()

fv=open('原拦燃文件'盯晌,'r')

n=1

for line in fv:

fv2=open('新文简则虚件'+'n','w')

fv2.write(line)

fv2.close()

n+=1

fv.close()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12323607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存