有没有办法清除python中的打印文本?

有没有办法清除python中的打印文本?,python,Python,很长一段时间以来,我一直想知道如何在python中清除诸如print(“示例”)之类的内容,但我似乎找不到任何东西,也找不出任何办法 print("Hey") >Hey 现在我需要清除它,并写一些新的文本 print("How is your day?") 它会打印出来 哎 但是我想清除“嘿”,这样用户就不应该同时看这两个,而且看起来有点乱 import os os.system('cls') 或者unix(mac和linux)上的操作系统('clear')。如果您也不想向上滚动,则

很长一段时间以来,我一直想知道如何在python中清除诸如print(“示例”)之类的内容,但我似乎找不到任何东西,也找不出任何办法

print("Hey")
>Hey
现在我需要清除它,并写一些新的文本

print("How is your day?")
它会打印出来

但是我想清除“嘿”,这样用户就不应该同时看这两个,而且看起来有点乱

import os
os.system('cls')
或者unix(mac和linux)上的操作系统('clear')。如果您也不想向上滚动,则可以执行以下操作:

os.system(“printf'\033c'”)
也应该取消回滚。在所有系统上都有效的东西:

import os
os.system('cls' if os.name == 'nt' else "printf '\033c'")

我想这就是你想要做的:

将光标向上移动一行并删除该行

这可以像使用下面的代码一样完成

import sys
import time

def delete_last_line():
    "Use this function to delete the last line in the STDOUT"

    #cursor up one line
    sys.stdout.write('\x1b[1A')

    #delete last line
    sys.stdout.write('\x1b[2K')


########## FOR DEMO ################
if __name__ == "__main__":
    print("hello")
    print("this line will be delete after 2 seconds")
    time.sleep(2)
    delete_last_line()
####################################

嗯,;我有一个暂时的办法:-

print('Hey', end = '')

for i in range(4):
    print('\b', end = '')
print('How is your day?')

转义字符
\r
(回车符)表示“从此行开始打印”。 但有些操作系统将其用作“换行符”。 以下内容将在Linux中工作:

import time
import sys
#first text
print('Hey.', end="")
#flush stdout
sys.stdout.flush()
#wait a second
time.sleep(1)
#write a carriage return and new text
print('\rHow is your day?') 

一旦写入
控制台
,您就无法擦除它,当您将它保存在缓冲区中时,您可以这样做。[注意]
linux
中的
clear
不会擦除您写的文本,而是
向上滚动
!!我想这就是您正在寻找的可能重复的
clear
命令不会从中删除或删除文本console@SivaCn它对我有用。它也对我有用(win7 py2.6)。。。你用的是什么操作系统和python?是的,它会清除,但当我向上滚动时,我仍然可以得到,
但问题是要清除
对吗?我用的是
cent操作系统
Ubuntu
LinuxMint
Python2.6
2.7
,而且
3
这并不意味着从这行开始打印。这更像是将光标返回到当前行的开头。不涉及印刷。此外,如果要从行首打印的新字符串比屏幕上已有的字符串短,则旧字符串中多余的字符将保留在屏幕上。也就是说,你的两根绳子会混在一起。
import time
import sys
#first text
print('Hey.', end="")
#flush stdout
sys.stdout.flush()
#wait a second
time.sleep(1)
#write a carriage return and new text
print('\rHow is your day?')