我想知道是否可以在Python脚本运行的命令shell上清理特定的东西?
例如,脚本包含:
print ("Hello world")
当我双击此脚本时,会弹出cmd,我会在命令行上看到Hello world
。现在我想知道,是否有可能从shell中清除Hello World
并在其中写下其他内容而cmd正在运行?像:
print ("Hello world")
time.sleep(1)
# a module replace New Text with Hello world
print("New Text")
答案 0 :(得分:2)
您可以使用ANSI转义字符:
sys.stdout.write("\033[F") # Cursor up to line
sys.stdout.write("\033[K") # Clear line
或者虽然这有时在Windows cmd中不起作用,但请尝试以下方法:
sys.stdout.write("\r") # Move to line beginning
或者你想要它:
import time
print("Hello world", end="\r")
time.sleep(1)
print("New text ") # Trailing slashes to completely override "Hello world"
答案 1 :(得分:0)
刷新印刷文字,不要在最后写一个换行符,而是\r
为了在下一行的开头开始打印:
from __future__ import print_function # to make it work with Python 2, just in case
import time
print ("Hello world", end='\r', flush=True)
time.sleep(1)
print ("New Text ", end='\r', flush=True)
time.sleep(1)
print ("Last Text ")