我想用python 3.x在终端中删除两行打印

zbsbpyhn  于 2023-10-21  发布在  Python
关注(0)|答案(2)|浏览(118)

我一直在寻找一种方法来做这样的事情:

import time

print("Hi !\nHow are you ?")
time.sleep(1)
# Clear the printed text
print("New\nText")

因此,输出应该如下所示:

Hi !
How are you ?

# Wait 1 sec

New
Text

所以我试着在print上使用\rflush

from time import sleep
print("Test\nTEST", end='', flush=True)
sleep(1)
print("\r", end='')

但没有任何工作:/

sauutmhj

sauutmhj1#

from time import sleep

def delete_line():
    print("\033[1A\x1b[2K", end="")

print("Hi !\nHow are you ?")
sleep(1)

delete_line()
delete_line()
print("New\nText")

这将产生您想要的输出。有关更多信息,您可以查看this article

hivapdat

hivapdat2#

您可以使用此命令删除最后两行:

print("\033[2A", end="")

或者,你可以一行一行地做:

print("\033[1A", end="")

此外,您可以使用此命令清除整个控制台:

print("\033[H\033[J", end="")

相关问题