gpt4 book ai didi

python-3.x - Python : How to print on same line, 清除以前的文本?

转载 作者:行者123 更新时间:2023-12-04 12:46:43 25 4
gpt4 key购买 nike

在 Python 中,您可以使用 \r 在同一行打印移回行首。

这适用于进度条或增加百分比计数器,例如:Python print on same line

但是,当打印长度可能减少的行时,这会将前一行文本留在那里,例如:

import sys
for t in ['long line', '%']:
sys.stdout.write(t + '\r')
sys.stdout.write('\n')

将终端文本保留为: %ong line .

在打印到同一行时,在较长的一行之后写一条较短的行的最佳方法是什么?

最佳答案

随着\r ,ansi 序列 \033[K需要 - 删除到行尾。
此代码按预期工作。

import sys
for t in ['long line', '%']:
sys.stdout.write('\033[K' + t + '\r')
sys.stdout.write('\n')

请注意,当字符串包含制表符时,这不起作用,您可能需要替换: sys.stdout.write('\033[K' + t + '\r')和 ... sys.stdout.write('\033[K' + t.expandtabs(2) + '\r')

关于python-3.x - Python : How to print on same line, 清除以前的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45263205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com