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'])
相关推荐
叫我辉哥e15 分钟前
新手进阶Python:办公看板升级交互式可视化+移动端适配+多终端同步
开发语言·python
m0_561359676 分钟前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
zhangfeng11336 分钟前
deepseek部署和训练的PyTorch CUDA Transformers Accelerate PEFT稳定版本呢推荐
人工智能·pytorch·python
Bruk.Liu8 分钟前
(LangChain实战5):LangChain消息模版ChatPromptTemplate
人工智能·python·langchain·agent
Wiktok10 分钟前
SQLAlchemy+PyMySQL的实用实战示例
python·mysql·sqlalchemy
yufuu9811 分钟前
用Python批量处理Excel和CSV文件
jvm·数据库·python
深蓝电商API14 分钟前
异步爬虫结合 MongoDB 异步驱动 pymongo:高效数据爬取与存储实践
爬虫·python·mongodb
一个网络学徒14 分钟前
python练习3
开发语言·python
爱敲代码的TOM15 分钟前
大模型应用开发-LangChain框架基础
python·langchain·大模型应用
SeatuneWrite17 分钟前
**AI漫剧制作2025推荐,揭秘高效低成本内容创作新路径*
人工智能·python