python语言下,如何实现控制台风格的进度显示?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python语言下,如何实现控制台风格的进度显示?相关的知识,希望对你有一定的参考价值。
用python编写控制台程序。
也就是进度百分比信息在原位不断刷新,而不产生很多行的显示。似乎用print做不到,总是不断产生信息上卷,结果打印出很多行进度百分比显示。望指点,多谢!
lqefn回答的并不对,试一试就知道了,我要求的是光标始终在同一行中显示进度百分比,而不是不断产生新的行来显示。
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:
sys.stdout.flush()
# Simulate doing something ...
for i in xrange(100):
progress(50, (i + 1))
time.sleep(0.1) # Slow it down for demo本回答被提问者采纳 参考技术B 如果LZ愿意肯动手试试,就知道lqefn的回答:
for i in range(100):
... print("\r%%%d"%i, end="")
... time.sleep(0.01)
是对的。不过他的是3.0,在2.x里变成
print "\r%%%d"%i,
就行 参考技术C for i in range(100):
... print("\r%%%d"%i, end="")
... time.sleep(0.01)
C语言中如何控制只在某一个位置打印?比如进度百分比数字的显示。
想写个程序,类似进度条的东西,用字符拼的,但是这个进度条是随着扫描到的参数变量随时变化的(可大可小),不是类似拷贝一样只能前进的单向进度条。所以需要在某一个位置重复显示,这个效果如何做呢?而且表示百分比的数字也只在一个地方重复显示刷新,这个效果如何能做到呢?
在TC里用这个gotoxy(int x, int y);自己摸索一下~~ 参考技术A 让网易看以上是关于python语言下,如何实现控制台风格的进度显示?的主要内容,如果未能解决你的问题,请参考以下文章
C语言中如何控制只在某一个位置打印?比如进度百分比数字的显示。