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'])
相关推荐
用户8134411823619 分钟前
Python基础
python
ZHOU_WUYI29 分钟前
旋转位置编码 (2)
pytorch·python·深度学习
程序员~小强1 小时前
让知识触手可及!基于Neo4j的机械设备知识图谱问答系统
人工智能·python·django·知识图谱·neo4j
DanCheng-studio1 小时前
智科 机器学习毕业设计题目指导
python·毕业设计·毕设
java1234_小锋2 小时前
一周学会Flask3 Python Web开发-SQLAlchemy定义数据库模型
python·flask·sqlalchemy·flask3
Light602 小时前
CSnakes vs Python.NET:跨语言集成的巅峰对决与架构解密
python·性能优化·.net·跨语言集成·双向互操作
gallonyin2 小时前
免root运行python保活守护进程supervisor
linux·开发语言·python
lisw053 小时前
【PyCharm】Python和PyCharm的相互关系和使用联动介绍
ide·python·pycharm
猿榜3 小时前
js逆向-某博博返回数据解密
javascript·python
用户64405360196543 小时前
pip install 安装太慢的解决方法
python