【451】python 同一行打印进度条
参考:\r\n, \r and \n what is the difference between them? [duplicate]
参考:python的print格式化输出,以及使用format来控制。
实现思路就是不停地删除之前打印的内容,通过 '\r' 实现光标返回最前,之后会覆盖内容,没被覆盖的还会继续显示。
\r
(Carriage Return) → moves the cursor to the beginning of the line without advancing to the next line\n
(Line Feed) → moves the cursor down to the next line without returning to the beginning of the line — In a *nix environment\n
moves to the beginning of the line.\r\n
(End Of Line) → a combination of\r
and\n
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import sys,time # 变量 total = 153 for i in range (total): if i + 1 = = total: percent = 100.0 print ( 'Progress: %s [%d/%d]' % ( str (percent) + '%' , i + 1 , total), end = '\n' ) else : percent = round ( 1.0 * i / total * 100 , 2 ) print ( 'Progress: %s [%d/%d]' % ( str (percent) + '%' , i + 1 , total), end = '\r' ) # 将百分号与数字合并起来了 time.sleep( 0.01 ) |
上面 % 使用可以参考:【387】Python format 格式化函数(以及 %)
下面就是用最普通的方式写的,更好懂
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import sys,time # 变量 total = 153 for i in range (total): if i + 1 = = total: percent = 100.0 print ( 'Progress: ' + str (percent) + '% [' + str (i + 1 ) + '/' + str (total) + ']' , end = '\n' ) else : percent = round ( 1.0 * i / total * 100 , 2 ) print ( 'Progress: ' + str (percent) + '% [' + str (i + 1 ) + '/' + str (total) + ']' , end = '\r' ) time.sleep( 0.01 ) |
分类:
Python Study
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)