Ben*_*end 24
在\r
没有换行符的情况下打印回车符()会将光标重置为行的开头,使下一个打印件覆盖已打印的内容:
import time
import sys
for i in range(100):
print i,
sys.stdout.flush()
time.sleep(1)
print "\r",
Run Code Online (Sandbox Code Playgroud)
这不会清除该行,因此如果您尝试使用此方法打印减少的数字,您将看到以前打印的剩余文本.您可以通过使用空格填充输出或使用其他答案中的某些控制代码来解决此问题.
这个配方在这里应该是有用的.将该模块用作tc,以下代码可以满足您的需求:
from tc import TerminalController
from time import sleep
import sys
term = TerminalController()
for i in range(10):
sys.stdout.write("%3d" % i)
sys.stdout.flush()
sleep(2)
sys.stdout.write(term.BOL + term.CLEAR_EOL)
Run Code Online (Sandbox Code Playgroud)
该配方用于terminfo
获取有关终端的信息,并适用于许多终端的Linux和OS X. 但它在Windows上不起作用.(感谢piquadrat进行测试,根据下面的评论).
编辑:配方还提供使用颜色和重写部分行的功能.它还有一个现成的文本进度条.
归档时间: |
|
查看次数: |
11996 次 |
最近记录: |