为了账号安全,请及时绑定邮箱和手机立即绑定

使用 print 删除 python 中的当前行

使用 print 删除 python 中的当前行

MMTTMM 2023-10-18 21:07:08
我正在 python 中执行代码,并希望通过重写输出上的当前行来更新我的状态。例子:import timeprint("1 a a a", end="\r")time.sleep(1) #placeholder for doing stuffprint("2 a a a", end="\r")time.sleep(1) #placeholder for doing stuffprint("3 a a a", end="\r")time.sleep(1) #placeholder for doing stuffprint("BBBB")print("c")现在这段代码的输出是BBBBa ac如何更改我的代码以获得以下输出?BBBBc谢谢。
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

\r只移动光标;它本身不会删除文本,它只提供覆盖现有文本的机会。

几乎您尝试的任何操作都将取决于终端,但通常您使用的是使用ANSI 转义序列的终端。一种这样的序列可用于清除当前行。

import time


print("\x1b[K1 a a a", end="\r")

time.sleep(1) #placeholder for doing stuff

print("\x1b[K2 a a a", end="\r")

time.sleep(1) #placeholder for doing stuff

print("\x1b[K3 a a a", end="\r")

time.sleep(1) #placeholder for doing stuff

print("\x1b[KBBBB")

print("c")

\x1b[K清除从当前光标位置到当前行末尾的内容。


类似的库ncurses可用于独立于终端的屏幕处理。


查看完整回答
反对 回复 2023-10-18
  • 1 回答
  • 0 关注
  • 227 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信