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'])
相关推荐
小猴子爱上树2 小时前
Temu批量视频翻译Python实现方案
开发语言·python·音视频
X1A0RAN2 小时前
Python 并发请求性能优化实战
python·性能优化·并发编程
陈同学xxx2 小时前
Hermes Agent 接入飞书,在手机上随时聊天
linux·python·飞书
卷无止境2 小时前
Python 中基于 Qt 的 GUI 库授权方式全解析
后端·python
卷无止境2 小时前
Guardrails.ai:为大语言模型加一道"安全阀"
后端·python
汤姆小白7 小时前
01-环境搭建与项目导览
人工智能·python·机器学习·numpy
向日的葵00613 小时前
langchain的Tools教程(三)
python·langchain·tools
言乐614 小时前
Python实现可运行解密游戏游戏框架
python·游戏·小程序·游戏程序·关卡设计
YUS云生14 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习
智写-AI15 小时前
真实有效的免费降英文AI工具服务商
人工智能·python