代码:

def Handler(start, end, url, filename):

headers = {'Range': 'bytes=%d-%d' % (start, end)}

with requests.get(url, headers=headers,stream=True) as r:

with open(filename, "r+b") as fp:

fp.seek(start)

var = fp.tell()

fp.write(r.content)

def download(url,tittle, num_thread = 10):

r = requests.head(url)

try:

file_name = tittle

file_size = int(r.headers['content-length'])

except:

print("检查URL,或不支持对线程下载")

return

fp = open(file_name, "wb")

fp.truncate(file_size)

fp.close()

part = file_size // num_thread

for i in range(num_thread):

start = part * i

if i == num_thread - 1:

end = file_size

else:

end = start + part

t = threading.Thread(target=Handler, kwargs={'start': start, 'end': end, 'url': url, 'filename': file_name})

t.setDaemon(True)

t.start()

# 等待所有线程下载完成

main_thread = threading.current_thread()

for t in threading.enumerate():

if t is main_thread:

continue

t.join()

print('%s 下载完成' % file_name)

python多线程下载_python3 多线程下载相关推荐

  1. python3多线程编程_Python3 多线程编程

    线程 什么是线程 官方定义: 线程(thread)是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程 ...

  2. python 多线程下载_Python3 多线程下载代码

    '''Created on 2014-10-24 @author: Maple''' importsysimportosimporttimeimportgetoptimporturllib.reque ...

  3. python报时功能_python3多线程实现一个语音报时,定时关机功能的应用

    我是您的朋友义县游学电子科技,今天我跟大家分享一个小应用.利用python实现一个网络应用,具有定时关机功能和语音报时功能. 下面我先来介绍一下python.python这门语言想必大家都听说过,就算 ...

  4. python 线程锁_Python3多线程执行任务含线程同步锁

    Python启动多线程执行任务,用线程锁实现同步分配任务,最后等待所有线程执行完毕#python3多线程演示 import threading import random import time to ...

  5. python3最新版下载_python3.9下载-Python下载v3.9.0 官方最新版【x86|x64】-西西软件下载...

    Python允许你把程序分解为模块,模块可以在其他Python程序中重用.它带有一大批标准模块可以作为你自己的程序的基础--或作为学习Python编程的例子.系统还提供了关于文件输入输出.系统调用.插 ...

  6. python3ide安卓版官网下载_python3.9下载-Python下载v3.9.0 官方最新版【x86|x64】-西西软件下载...

    Python允许你把程序分解为模块,模块可以在其他Python程序中重用.它带有一大批标准模块可以作为你自己的程序的基础--或作为学习Python编程的例子.系统还提供了关于文件输入输出.系统调用.插 ...

  7. python3项目源代码下载_python3中文版下载

    其实很多编程语言都可以做爬虫,例如java.c#.php等等甚至excel都可以抓网页的图表,那么为什么我们要用Python呢?它简单.便捷,而且有好多库可以选择,可以说python是写爬虫的首选了! ...

  8. python3.9下载_Python-3.9下载_Python下载_Python最新版_5分享

    python3.9.0是Python编程语言的最新主要版本,它包含许多新特性和优化. 这是在Windows上默认使用64位安装程序的Python的第一个版本.安装程序现在也主动禁止在Windows7上 ...

  9. python3多线程实例_python3多线程糗事百科案例

    1 #使用了线程库 2 importthreading3 #队列 4 importqueue5 #解析库 6 from lxml importetree7 #请求处理 8 importrequests ...

最新文章

  1. 连接没反应_显示器USB接口的作用是什么?为什么会没有反应?
  2. [C#]面向对象设计
  3. 【C 语言】编译过程 分析 ( 预处理 | 编译 | 汇编 | 链接 | 宏定义 | 条件编译 | 编译器指示字 )
  4. 【Java报错】记录一次 sun.misc.Unsafe.park(Native Method) Conflicting setter definitions for property 导致的内存泄露
  5. c++tcp接收文件缓存多大合适_网易面经:深剖TCP协议的流量控制和拥塞控制,你懂了吗?...
  6. Centos7.2安装python3与python2共存
  7. php 开发百度聚合,百度地图api-百度地图API开发,使用MarkerClusterer进行点聚合的问题...
  8. vim配置运行python3快捷键_Vim的Dokuwiki快捷键配置
  9. qlistwidgetitem itempressed怎么区分左右键_那个帮你把魂斗罗玩通关的男人,去世了!那年暑假的“上上下下左右左右BABA”,你还记得吗?...
  10. 【转】ajax发送请求时候为什么会报拒绝设置不安全的header
  11. 大厂HR的新对手是Excel
  12. c语言延时函数delay延时一秒_使用树莓派拍摄延时动画,制作GIF图
  13. 中国各省的简称及简称的由来
  14. 阿里的世界版图——“风清扬”的全球梦
  15. 深入理解各种图片格式
  16. 计算机进入启动死循环,win7系统重装死循环一直反复关机重启的解决方法
  17. 元宇宙的驱动力是什么?
  18. 查找父类的所有子类 crtl+alt+b
  19. 用Python做一个价值数万的市场调查报告程序,分分钟完成工作
  20. 信息学奥赛一本通(c++)

热门文章

  1. 【spark】示例:连接操作
  2. [leetcode]242. Valid Anagram判断两个字符串是不是包含相同字符的重排列
  3. 清北学堂模拟赛d1t1 位运算1(bit)
  4. bzoj1179 Atm
  5. BZOJ 1015 题解
  6. [Ubuntu] ubuntu13.04 从php5.4降级到php5.3
  7. 《那些年啊,那些事——一个程序员的奋斗史》——30
  8. mysql中engine是什么意思_mysql中engine=innodb和engine=myisam的区别
  9. php mysql服务器配置_PHPMYSQL服务器配置说明_PHP
  10. 为什么找不到用户和计算机名,计算机管理里没有(本地用户和组)了为什么怎么恢复...