【Python】控制台进度条

 在Python开发中,有时需要向用户展示一个任务的进度,以提供更好的交互体验。下面我将展示如何使用Python来创建一个简单的控制台进度条。
效果:
请添加图片描述

代码:

import time
import sys
def print_progress_bar(completed, total, length=50):
    progress = int(length * completed / total)
    bar = '[' + '=' * progress + '-' * (length - progress) + ']'
    percent = round(100.0 * completed / total, 1)
    sys.stdout.write(f'\r{bar} {percent}%')
    sys.stdout.flush()
# 示例用法
total_steps = 100
for i in range(1, total_steps + 1):
    time.sleep(0.1)  # 模拟一个任务
    print_progress_bar(i, total_steps)

说明:

  1. 导入timesys模块。
  2. 定义print_progress_bar函数,它接受当前完成的步骤数completed、总步骤数total和进度条长度length(默认为50)作为参数。
  3. 在函数内部,根据完成的任务比例计算进度条的当前状态,并格式化输出到控制台。
  4. sys.stdout.flush()确保进度条立即刷新,而不是等待缓冲区满。
  5. 在示例用法中,我们模拟了一个总步骤为100的任务,并在每次循环中更新进度条。
    这个进度条是通过在控制台上重复打印来更新的,使用了 carriage return (\r) 来回到行首,这样每次打印都会覆盖上一次的打印内容,从而实现动态更新效果。
    在你的实际项目中,你可以根据需要调整time.sleep(0.1)来模拟不同的任务执行时间,或者将这部分替换为你的实际任务代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/534586.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯省赛冲刺(3)广度优先搜索

广度优先搜索(Breadth-First Search, BFS)是一种在图或树等非线性数据结构中遍历节点的算法,它从起始节点开始,按层级逐步向外扩展,即先访问离起始节点最近的节点,再访问这些节点的邻居,然后是邻…

Kyligence 发布企业级 AI 解决方案,Data + AI 落地迈向新阶段

4月11日,Kyligence 2024 数智论坛暨春季发布会成功召开。Kyligence 正式发布全新的企业级 AI 解决方案,基于服务金融、零售、制造、医药等行业领先客户的落地实践,Kyligence 为企业提供准确、可靠、智能的 AI 指标平台一站式解决方案&#x…

头歌-机器学习 第10次实验 逻辑回归

第1关:逻辑回归核心思想 任务描述 本关任务:根据本节课所学知识完成本关所设置的编程题。 相关知识 为了完成本关任务,你需要掌握: 什么是逻辑回归; sigmoid函数。 什么是逻辑回归 当一看到“回归”这两个字&a…

Harmony鸿蒙南向驱动开发-CLOCK接口使用

CLOCK,时钟是系统各个部件运行的基础,以CPU时钟举例,CPU 时钟是指 CPU 内部的时钟发生器,它以频率的形式工作,用来同步和控制 CPU 内部的各个操作。 CLOCK接口定义了完成CLOCK操作的通用方法集合,包括&…

五一出游 请带上我。必备全家桶。出游变成搬家。千里快递员,这样的人就不要带了。学习过后,你会使用这些句子了吗?

五一出游,即劳动节假期出游,需要准备的物品会根据旅行的目的地、天气状况、交通方式和个人习惯有所不同。以下是一个基本的全家桶必备物品清单: 一、 证件类: 身份证驾驶证(如果自驾)护照/港澳通行证/台…

递归、搜索与回溯算法:递归

递归 在解决⼀个规模为n的问题时,如果满⾜以下条件,我们可以使⽤递归来解决: a. 问题可以被划分为规模更⼩的⼦问题,并且这些⼦问题具有与原问题相同的解决⽅法。 b. 当我们知道规模更⼩的⼦问题(规模为 n - 1&…

MySQL事务、主从、分库分表常见面试题

文章目录 1.事务的特性2.并发事务问题,如何解决,默认隔离级别3.undo log和redo log的区别4.事务中的隔离性是如何保证的(解释一下MVCC)5.主从同步原理6.分库分表 1.事务的特性 2.并发事务问题,如何解决,默认…

Windows部署ChatGLM3步骤

一、环境要求 硬件 内存:> 16GB 显存: > 13GB(4080 16GB) 软件 python 版本推荐3.10 - 3.11 transformers 库版本推荐为 4.36.2 torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能 二、部署步骤 1、新建pytho…

无缝集成:使用Spring Boot和Vue实现头像上传与回显功能

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

乡村振兴多元共治,共绘乡村新蓝图:政府引领、企业助力、村民参与

乡村振兴是一项复杂而艰巨的任务,需要从多个角度进行考虑。以下是从不同身份出发对乡村振兴建设的思考: 1、政府领导的角度: 政府是乡村振兴的主要推动者和组织者。在制定和实施乡村振兴战略时,政府需要注重规划引领,科…

【webrtc】源码下载与编译

目录 下载 下依赖 内存需求 !! 参考文章 : 下载 (1) windows ,centos上都会报错 (2) ubuntu A : 在git上设置代理 B fetch通过 ubuntu的界面 proxy设置了代理 这将会拉取webRTC源码,且额外加了a…

群晖虚拟机搭建Synology Drive并实现Obsidian笔记异地多端同步

文章目录 一、简介软件特色演示: 二、使用免费群晖虚拟机搭建群晖Synology Drive服务,实现局域网同步1 安装并设置Synology Drive套件2 局域网内同步文件测试 三、内网穿透群晖Synology Drive,实现异地多端同步Windows 安装 Cpolar步骤&#…

目标检测——瓷砖瑕疵检测数据集

一、重要性及意义 瓷砖瑕疵检测在瓷砖制造和质量控制过程中具有极其重要的地位,其重要性和意义主要体现在以下几个方面: 首先,瓷砖瑕疵检测是确保产品质量的关键环节。瓷砖作为家居装修中不可或缺的材料,其表面质量直接影响到装…

关于ABP 新增表,dbfirst模式

下面的代码是基于abp生成的项目,项目名:Store 1.在Domain结尾的项目中通过EF工具生成数据实体: Scaffold-DbContext Data Source服务器IP;Initial Catalog数据库;User Idsa;Password密码;EncryptFalse; Microsoft.EntityFrameworkCore.SqlS…

【React】React Hooks

useState useState 向组件中添加状态变量 状态是只读的,不可以直接修改 对于对象类型的状态变量,应该传递一个新的对象来更改 需要对象展开,并重新赋值,进行增加或者修改。 如果需要删除,则使用 filter。 import { …

Android MTK 屏下指纹的调试过程记录

Demo链接 -----> https://download.csdn.net/download/u011694328/89118346 一些品牌手机都有了屏下指纹的功能,还算是个比较新颖的功能,最近有项目需要使用屏下指纹, 使用的是汇顶(Goodix)的指纹方案&#xff0c…

学习笔记之——3DGS-SLAM系列代码解读

最近对一系列基于3D Gaussian Splatting(3DGS)SLAM的工作的源码进行了测试与解读。为此写下本博客mark一下所有的源码解读以及对应的代码配置与测试记录~ 其中工作1~5的原理解读见博客: 学习笔记之——3D Gaussian Splatting及其在SLAM与自动…

jupyter python paramiko 网络系统运维

概述 通过使用jupyter进行网络运维的相关测试 设备为H3C 联通性测试 import paramiko import time import getpass import re import os import datetimeusername "*****" password "*****" ip "10.32.**.**"ssh_client paramiko.SSHCli…

【JSON2WEB】14 基于Amis的CRUD开发30分钟速成

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

docker安装Jenkins,CI/CD,代码发布,环境维护,测试神器

文章目录 前言创建文件夹设置权限docker-compose.yaml文件安装启动docker 查看网站获取密码方式1获取密码方式2 初始化jenkins 前言 Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署…