我必须做什么才能显示文本动态?
Some text [-]
去Some text [|]
然后回Some text [-]
。
有没有办法在不清除整个屏幕的情况下做到这一点?
对于 POSIX 终端,您可以使用两种技术:
写\r
回车返回到行首
写一个\b
退格来清除几个字符。
在这两种情况下,我都会将sys.stdout.write()
其与冲洗一起使用来写出。
使用\b
退格演示:
import sys
import time
sys.stdout.write('Some text [\\]')
for i in ['-', '/', '|', '\\'] * 10:
sys.stdout.write('\b\b\b[{0}]'.format(i))
sys.stdout.flush()
time.sleep(1)
使用\r
回车演示:
import sys
import time
for i in ['-', '/', '|', '\\'] * 10:
sys.stdout.write('\rSome text [{0}]'.format(i))
sys.stdout.flush()
time.sleep(1)