0

我必须做什么才能显示文本动态?

Some text [-]Some text [|]然后回Some text [-]

有没有办法在不清除整个屏幕的情况下做到这一点?

4

1 回答 1

2

对于 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)
于 2013-01-09T06:45:19.130 回答