位置: 编程技术 - 正文

Python实现多线程HTTP下载器示例(python多线程怎么写)

编辑:rootadmin

推荐整理分享Python实现多线程HTTP下载器示例(python多线程怎么写),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python 多线程,python 多线程,python 多线程,python,多线程,python,多线程,python多线程怎么用,python 多线程,python如何多线程,内容如对您有帮助,希望把文章链接给更多的朋友!

本文将介绍使用Python编写多线程HTTP下载器,并生成.exe可执行文件。

环境:windows/Linux + Python2.7.x

单线程

在介绍多线程之前首先介绍单线程。编写单线程的思路为:

1.解析url;

2.连接web服务器;

3.构造http请求包;

4.下载文件。

接下来通过代码进行说明。

解析url

通过用户输入url进行解析。如果解析的路径为空,则赋值为'/';如果端口号为空,则赋值为"”;下载文件的文件名可根据用户的意愿进行更改(输入'y'表示更改,输入其它表示不需要更改)。

下面列出几个解析函数:

连接web服务器

使用socket模块,根据解析url得到的host和port连接web服务器,代码如下:

构造http请求包

根据解析url得到的path, host, port构造一个HTTP请求包。

Python实现多线程HTTP下载器示例(python多线程怎么写)

下载文件

根据构造的http请求包,向服务器发送文件,抓取响应报文头部的"Content-Length"。

下载文件并计算下载所用的时间。

多线程

抓取响应报文头部的"Content-Length"字段,结合线程个数,加锁分段下载。与单线程的不同,这里将所有代码整合为一个文件,代码中使用更多的Python自带模块。

得到"Content-Length":

根据得到的Length,结合线程个数划分范围:

实现多线程下载,在向文件写入内容时,向线程加锁,并使用with lock代替lock.acquire( )...lock.release( );使用file.seek( )设置文件偏移地址,保证写入文件的准确性。

运行结果:

将(*.py)文件转化为(*.exe)可执行文件

当写好了一个工具,如何让那些没有安装Python的人使用这个工具呢?这就需要将.py文件转化为.exe文件。

这里用到Python的py2exe模块,初次使用,所以对其进行介绍:

py2exe是一个将Python脚本转换成windows上可独立执行的可执行文件(*.exe)的工具,这样,就可以不用装Python在windows上运行这个可执行程序。

接下来,在multiThreadDownload.py的同目录下,创建mysetup.py文件,编写:

接着执行命令:Python mysetup.py py2exe

生成dist文件夹,multiTjhreadDownload.exe文件位于其中,点击运行即可:

demo下载地址:HttpFileDownload_gimoo.rar

标签: python多线程怎么写

本文链接地址:https://www.jiuchutong.com/biancheng/380063.html 转载请保留说明!

上一篇:Python pip安装lxml出错的问题解决办法(python-pip安装)

下一篇:Python 绘图和可视化详细介绍(利用python绘图)

  • 按适用税率计税销售额和按简易办法计税销售额
  • 土地使用税怎么征收标准
  • 免税申报表里的免税销售额是不含税
  • 关联交易纳税调整期限
  • 以前年度成本多入了怎样调整
  • 运输费计入原材料成本吗
  • 建筑业营改增前后区别
  • 房产企业土地增值税税率
  • 在建工程会计分录什么意思
  • 专票红冲后还需重新开票吗
  • 年度结转之前需要做什么
  • 什么时候计提资本成本
  • 营改增后还有企业所得税吗?
  • 进项税转出属于什么科目
  • 境外演艺经纪公司代扣代缴哪些税款?
  • 一般纳税人外经证预缴怎样缴费
  • 税控机操作
  • 印花税滞纳金计算方法
  • 独立核算分公司可以享受小型微利企业优惠吗
  • 预付货款样品费怎么入账
  • 公司变更名称重新申请
  • 电脑右下角的弹窗怎么关
  • deepin怎么使用
  • 长期待摊费用是当月摊销还是次月摊销
  • php+js
  • 个人投资额是什么意思
  • 高新技术企业如何节税
  • 销售使用过的机器设备如何缴纳增值税
  • 笑脸热气球 (© Leonsbox/Getty Images Plus)
  • php _dir_
  • framework core
  • vue跨域的几种方式
  • 人工智能答案
  • js中move
  • ip add命令是什么意思
  • php截取字符串几种方式
  • 总公司与分公司怎么报税
  • 收入的利息怎么记账
  • 公司一年没有业务
  • 其他应收款怎么核对
  • 营业执照如何申请移出异常
  • 差旅费必须填写差旅费报销单吗
  • python3矩阵求逆
  • wordpress 自动生成文章
  • 帝国cms使用手册
  • python中aiohttp库如何理解
  • 如何确定固定资产是否已经发生减值
  • 一般纳税人的账务处理分录
  • 企业给员工的福利体检报告
  • 固定资产折旧提完了继续使用
  • 超过认证期专用发票怎么办
  • 职工福利费计提标准是多少
  • 土地使用权如何计入房产原值交房产税时间
  • 期末自动结转期间损益
  • 结账没有原始凭证
  • 办土地证费用会退吗
  • 预付账款怎么做账务处理
  • 如何解决女性漏尿问题
  • linux快速清空大日志文件
  • 电脑没有系统了如何重装系统
  • 制作xp系统盘需要多大u盘
  • centos7如何进入命令行
  • sccenter.exe - sccenter是什么进程 有什么用
  • centos6.5升级到7.2
  • 编写一个定时间隔为5ms的子程序
  • Win10手机版校
  • shell脚本转换为exe
  • 噩梦像连续剧
  • unity每秒执行一次
  • pypy 使用
  • javascript中br
  • node的express
  • 工作笔记范文100篇简短
  • python中zip函数的用法
  • js闭包详解
  • jQuery实现HTML表格单元格的合并功能
  • android studio 运行配置
  • 宝鸡新车交易市场
  • 企业所得税优惠事项管理目录2023
  • 杭州金税盘客服电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设