Python 控制台刷新进度
2012-02-04 17:14
267 查看
这几天在oschina看到了一个刷新控制台进度的脚本,就是那种最简单的刷新了,可是看了半天才明白,也不知道是水平有限呢,还是这脚本难读懂呢,呵呵,贴出来解读一下
里面最重要的其实就是下面这句
一眼看上去,这简直是一堆垃圾,全是%。
仔细看上去其实很有章法,本质上就是内嵌了几层的格式串。
假设width是100,
执行步骤如下:
2. '%-100s' % (percent * '=')
这个就是后面预留100个空位的字符串。
就是要打印的进度条的总长度,预留100个空位是为了固定百分比的位置
3. '%s %d%%\r' % (进度字符串,percent)
一目了然了
呵呵,具体执行过程就是这样,神奇吧。
import sys import time # Output example: [======= ] 75% # width defines bar width # percent defines current percentage def progress(width, percent): print "%s %d%%\r" % (('%%-%ds' % width) % (width * percent / 100 * '='), percent), if percent >= 100: print sys.stdout.flush() # Simulate doing something ... for i in xrange(100): progress(100, (i + 1)) time.sleep(1) # Slow it down for demo
里面最重要的其实就是下面这句
print "%s %d%%\r" % (('%%-%ds' % width) % (width * percent / 100 * '='), percent)
一眼看上去,这简直是一堆垃圾,全是%。
仔细看上去其实很有章法,本质上就是内嵌了几层的格式串。
假设width是100,
执行步骤如下:
1. '%%-%ds' % width执行后 为 %-100s
2. '%-100s' % (percent * '=')
这个就是后面预留100个空位的字符串。
就是要打印的进度条的总长度,预留100个空位是为了固定百分比的位置
3. '%s %d%%\r' % (进度字符串,percent)
一目了然了
呵呵,具体执行过程就是这样,神奇吧。
相关文章推荐
- 控制台单行刷新显示程序进度
- python控制台中实现进度条功能
- 飘逸的python - 实现控制台进度条效果
- python实现的控制台进度条
- Python实现控制台进度条功能
- Python在同一位置刷新显示进度信息
- Python在控制台输出进度条
- Python如何在控制台显示进度条
- Python实现控制台进度条功能
- python控制台中实现进度条功能
- python 进度条 tqdm
- Python 验证码生产程序和进度条程序
- Python 进度条 tqdm
- Ajax实现无刷新任务进度条
- python跟踪脚本进度(类似bash-x)
- python 通过logging写入日志到文件和控制台
- DuckAudio-基于ListView的Item进度刷新
- Python进度条实时显示处理进度的示例代码
- python显示程序进度条
- Python中如何给任务添加进度条