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'])
相关推荐
花酒锄作田5 小时前
FastAPI 使用 session 认证
python·fastapi
lsswear5 小时前
Python 并发 线程
开发语言·python
Ivanqhz5 小时前
MLIR OpBuilder
开发语言·python·mlir
威联通安全存储7 小时前
TS-h2287XU-RP 在家电制造总装与质检数据场景的部署
python·制造
泡泡鱼(敲代码中)8 小时前
Python 字符串 str 完整学习笔记
python·学习
troy1288 小时前
Python 基础语法(八):Web 后端开发、数据分析与可视化、网络爬虫、人工智能 / 大模型应用
前端·python·数据分析
我不会起名字3228 小时前
一天一道算法题(34):回溯法的经典例题(子集)
java·数据结构·python·算法·golang·深度优先·力扣
ThornArmor9 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
毕业设计7039 小时前
(免费领源码)基于Python的博物馆研学活动管理系统的设计与实现22724- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
python·mysql·随机森林·pycharm·django·flask·推荐算法
kyrie_sakura9 小时前
python学习笔记15 -- Anaconda,Jupyter,numpy
python·学习·jupyter·numpy