位置: 编程技术 - 正文

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绘图)

  • 房地产企业土地增值税
  • 高新技术企业产品是什么意思
  • 废机油处理多少钱一吨
  • 金融工具减值的简化处理
  • 营业收入包括投资净收益吗
  • 冲减营业税金及附加的分录
  • 预付软件款的分录
  • 押金不退转收入的情况说明
  • 在途物资的会计凭证怎么做
  • 退休人员工资可以提福利费吗
  • 全年一次奖金计算
  • 公司清算 债权
  • 事业单位结转资金和结余资金区别
  • 单独计价入账的土地是无形资产吗
  • 银行抵债资产怎么管理
  • 哪些费用应该计税
  • 纳税人和征税对象的区别
  • 增值税10000交多少税
  • 在建工程如何抵扣个税
  • 销项已开进项还没有收到分录如何处理?
  • 财务软件中摊销怎么做账
  • 分期付款确认收入借方写啥
  • 固定资产应付账款在现金流量表中怎么体现
  • 车辆保险车船税每年交多少
  • 银行存款日记账和现金日记账的区别
  • 继续教育专项附加扣除标准
  • 增值税专用发票的税率是多少啊
  • 设计服务交文化建设税吗
  • 其他应收款怎么冲平
  • 映泰主板系统重装
  • 电脑怎么更新系统日期
  • 2021工资扣税标准公式
  • 怎样判断事情
  • thinkphp 路由
  • php auth_http类库进行身份效验
  • PHP:spl_autoload_functions()的用法_spl函数
  • 应收账款需要计提坏账准备吗
  • gws.exe是啥
  • 其他业务收入产品包括
  • 外商投资企业法人独资属于内资还是外资
  • 发票备注栏可以写详见清单吗
  • 行政事业单位招待费比例
  • EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
  • 麻雀优化算法和鲸鱼算法哪个好
  • grub-install --target
  • windows where命令
  • 税款已缴纳可以作废申报吗
  • 公司销售自己使用过的固定资产
  • 代收收款收据证明范本
  • 电子发票怎么开具流程呢?
  • 税务登记是需要原件还是复印件
  • sqlserver2008导出表结构和表数据
  • centos执行sh
  • 无销项税能抵扣进项税吗
  • 汇算清缴银行手续费放哪里
  • 去年少交的增值税可以和今年的合并吗
  • 一般纳税人购进普票怎么做分录
  • 贴现帐务处理
  • 研发和技术服务税收分类编码
  • 银行电子承兑汇票
  • 投资收益下期间怎么结转
  • sqlserver执行计划走偏
  • win7u盘没有安全选项卡
  • 怎么打开windows移动中心
  • linux网络中断
  • linux解密
  • 直线画画
  • 网页收集数据
  • bash 删除文件夹
  • unity3d课程
  • js很简单
  • Python快速从注释生成文档的方法
  • python 时间戳与格式化时间的转化实现代码
  • js倒计时秒杀
  • android获取系统弹窗,自动点击
  • 北京中石化开增票各区网点
  • 如何在电子税务局看本月应申报的税
  • 应交税费应交增值税已交税金是什么意思
  • 代理记账广告语怎么写
  • 小规模纳税人开专票税率是1%还是3%
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设