我需要做些什么才能显示文字动态?
Some text [-]
前往Some text [|]
然后返回Some text [-]
。
有没有办法在不清除整个屏幕的情况下执行此操作?
答案 0 :(得分:2)
对于POSIX终端,您可以使用两种技术:
写一个\r
回车符回到行的开头
写一个\b
退格区以清除几个字符。
在这两种情况下,我都会使用sys.stdout.write()
和flush来写出来。
使用\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)