更改同一行中的文本

2024-05-19 05:20:37 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,一些命令行实用程序能够在不生成新行的情况下更改行上的文本(如curl)。在Python中如何做到这一点


Tags: 命令行文本实用程序情况curl行上
2条回答

可以将sys.stdout.write与“\r”一起使用(将光标放回行的起始处)

演示:

>>> import sys
>>> import time
>>> while True:
...     sys.stdout.write("\r"+ str(i))
...     time.sleep(1)
...     i+=1
...

必须确保print语句以回车结束,而不是换行符。对于Python2.6+,您可以使用这个非常愚蠢的示例来查看

from __future__ import print_function
import time
import sys

print(".", end="\r")
sys.stdout.flush()
time.sleep(1)
print("..", end="\r")
sys.stdout.flush()
time.sleep(1)
print("...")
sys.stdout.flush()

注意:当强制print语句结束时,需要刷新stdout以强制它显示

相关问题 更多 >

    热门问题