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

展开全部

要求:服务器使用HTTP协议提供下载32313133353236313431303231363533e59b9ee7ad9431333431363631

服务器支持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文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python文件分块处理可以通过多种方法实现,以下是其中一种经典的实现方式: 首先,可以使用`open`函数打开需要处理的文件,指定文件的路径和访问模式,比如`file = open('file_path', 'rb')`。其中,'rb'表示以二进制模式打开文件,可以处理各种类型的文件。 之后,我们可以通过循环来逐块读取文件内容。一种常见的方式是使用`read`方法,指定每次读取的字节数来分块处理。例如,可以使用`data = file.read(chunk_size)`来读取一个指定大小的文件块。 接下来,可以对每个文件块进行相应的处理。根据具体需求,可以进行数据加密、解析、筛选、转换等操作。这里需要根据具体情况灵活应用Python的各种文件处理和数据处理功能。 在处理完一块数据后,可以对接下来的文件块进行相同的处理操作,直到整个文件被处理完毕。可以使用一个循环,直到文件末尾。例如,可以使用`while data != b''`判断文件是否读取完毕。 最后,务必记得关闭文件,以释放资源。可以使用`file.close()`来关闭文件。 这种文件分块处理的方式适用于处理大文件或需要长时间处理的文件。通过分块处理,可以减少内存占用,并且可以在处理完一个文件块后,逐块输出处理结果,而不需要等到整个文件处理完毕。同时,也提高了程序的响应速度,并且适应了较小的内存限制。 需要注意的是,文件分块处理是一种通用的处理方式,具体的实现方式还需要根据具体的需求进行适当调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值