你好我已经想了很长时间才能找到如何在python中清除像print("example")这样的东西,但我似乎无法找到或想出任何东西.
print("Hey")
>Hey
Run Code Online (Sandbox Code Playgroud)
现在我需要清除它,然后写一些新文本.
print("How is your day?")
Run Code Online (Sandbox Code Playgroud)
它会打印出来.
嘿
>How is your day?
Run Code Online (Sandbox Code Playgroud)
但我想清除"嘿",所以用户不应该同时看两者,它看起来有点混乱.
Gam*_*iac 11
import os
os.system('cls')
Run Code Online (Sandbox Code Playgroud)
或者os.system('clear')在unix(mac和linux)上.如果您不想向上滚动,那么您可以这样做:
os.system("printf '\033c'")也应该摆脱回滚.适用于所有系统的东西:
import os
os.system('cls' if os.name == 'nt' else "printf '\033c'")
Run Code Online (Sandbox Code Playgroud)
Ani*_*lur 10
我认为这就是你想要做的:
将光标向上移动一行并删除该行
这可以像使用下面的代码一样完成
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()
####################################
Run Code Online (Sandbox Code Playgroud)