python pyqt5 计算下载文件的进度百分比

python pyqt5 计算下载文件的进度百分比

思路

  1. 从远程服务器获取文件大小
  2. 每次只下载固定大小
  3. 下载次数 × 固定大小 = 已下载大小
  4. 已下载大小 ➗ 文件大小 * 100 即为下载进度百分比

代码

python 复制代码
import subprocess
import requests
from contextlib import closing

# 下载文件
r = requests.get("https://***.com/_latest.exe",stream=True)
with closing(r) as response:
	# 每次下载的大小
    chunk_size = 1024
    # 文件总大小
    content_size = int(response.headers['content-length'])
    # 下载次数
    data_count = 0
    # 下载数据写入文件
    with open('_latest.exe','wb') as file:
        for data in response.iter_content(chunk_size=chunk_size):
            file.write(data)
            data_count = data_count + len(data)
            # 进度
            now_jd = (data_count / content_size) * 100
            print(f'文件已下载:({data_count}字节/{content_size}字节) {round(now_jd, 2)}%')

# 下载完成后打开
subprocess.call(['_latest.exe'])
相关推荐
羸弱的穷酸书生3 分钟前
国网 i1协议 python实现
开发语言·python
weixin_462022353 分钟前
RAW-Adapter: Adapting Pre-trained Visual Model to Camera RAW Images
python·计算机视觉
电子硬件笔记4 分钟前
Python语言编程导论第三章 编写程序
开发语言·python·编辑器
布谷歌5 分钟前
在java中实现c#的int.TryParse方法
java·开发语言·python·c#
B站计算机毕业设计之家1 小时前
基于大数据热门旅游景点数据分析可视化平台 数据大屏 Flask框架 Echarts可视化大屏
大数据·爬虫·python·机器学习·数据分析·spark·旅游
周纠纠1 小时前
附录1:中文切词
python
Cricyta Sevina1 小时前
Java Collection 集合进阶知识笔记
java·笔记·python·collection集合
零度@2 小时前
Java中Map的多种用法
java·前端·python
550A2 小时前
如何修改kagglehub的数据集默认下载路径
python