如何创建动态文本?

时间:2013-01-09 06:34:49

标签: python

我需要做些什么才能显示文字动态?

Some text [-]前往Some text [|]然后返回Some text [-]

有没有办法在不清除整个屏幕的情况下执行此操作?

1 个答案:

答案 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)