所以我现在正在尝试编写一个程序,打印.
并删除它,然后打印..
,再删除它,然后打印...
,当我尝试使用sys模块删除前面的文本时,这是输出:lol [Ktest
,所以它基本上在下一行添加了一个[K
。我还尝试了使用另一种方法,这样它就可以添加如下内容,而不是删除前面的文本:
import time
print("lol",end="")
time.sleep(1)
print("test")
它确实可以在空闲状态下工作,但是当我试图通过在命令提示符中打开文件来使用它时,它等待了1秒,然后就给出了loltest
,两者之间没有任何延迟。所以我在网上找的东西都不管用。
发布于 2021-11-28 03:45:53
您可以使用关键字参数end
进行打印,以将特殊字符'\r'
附加到行尾。
例如。
import time
print(".", end='\r')
time.sleep(2)
print("..", end='\r')
time.sleep(2)
print("...", end='\r')
time.sleep(2)
'\r'
是回车符,它将返回到某些终端中的行首,您可以从这里覆盖刚刚打印的文本。请注意,不同终端的行为可能有所不同。
发布于 2021-11-28 03:44:45
您可以使用os
模块来执行外壳命令。
要清除终端,windows中所需的命令为cls
,而unix中为其clear
import os
os.system('cls' if os.name == 'nt' else 'clear')
如果不想清除前面的终端输出,可以灵活地使用print函数或其他指定的回车符。
for _ in range(3):
print('.', end='')
time.sleep(1)
发布于 2021-11-28 03:46:23
要在以前的打印上打印,可以使用end="\r
。
import time
print("lol", end="\r")
time.sleep(1)
print("test")
for i in range(4):
print("."*i, end="\r")
time.sleep(1)
https://stackoverflow.com/questions/70143041
复制相似问题