我有一个使用案例,需要通过多个线程以部分方式下载大型远程文件。每个线程必须同时(并行)运行,抓取文件的特定部分。期望在成功下载所有部分后将它们组合成一个单一(原始)文件。
也许使用requests库可以完成这项工作,但我不确定如何将其多线程化为结合块的解决方案。
也许使用requests库可以完成这项工作,但我不确定如何将其多线程化为结合块的解决方案。
url = 'https://url.com/file.iso'
headers = {"Range": "bytes=0-1000000"} # first megabyte
r = get(url, headers=headers)
我也在考虑使用curl,让Python编排下载过程,但我不确定这是否是正确的方法。这似乎太复杂了,远离了原始的Python解决方案。类似这样:
curl --range 200000000-399999999 -o file.iso.part2
有人能解释一下如何做到这样吗?或者提供一个在Python 3中有效的代码示例?我通常很容易找到与Python相关的答案,但是这个问题的解决方案似乎一直在逃避我。