请考虑以下代码:
import time
while True:
print(f"{object}")
doing_something_to_object(object)
object.update()
time.sleep(3)输出将如下所示,生成换行符:
value
value
value
value我想做一些事情,这样当object准备好显示时,object就会在屏幕上更新。
为了更好的解释,
我想输出一个具有不断更新值的屏幕。
*--------------------------------------*
value1 value2
*--------------------------------------*如果我要在循环中打印该值,在下一次打印之前更新字符串中的值,它将如下所示(我不想这样):
*--------------------------------------*
value1 value2
*--------------------------------------*
*--------------------------------------*
value1 value2
*--------------------------------------*
*--------------------------------------*
value1 value2
*--------------------------------------*
*--------------------------------------*
value1 value2
*--------------------------------------*有什么方法可以做到这一点而不使用像玩偶或tkinter之类的东西呢?curses应该能做到这一点,但它不是跨平台的。linux和windows都有curses吗?
发布于 2021-06-24 15:15:54
如果我理解正确,您希望更新显示它的值,而不将其再次打印在它下面.
在终端/CLI窗口中(据我所知,所有这些窗口),一旦一行被打印出来,它就不能被修改或擦除--在当前的提示/输出行是只读文本之前的所有内容。但是仍然可以更改当前的行,这样做的方法是
\n)字符,直到完成,\r)将光标移到行的开头,因此下一个值将被写入上一个的“顶部”。
请注意,"\r“不是背行行距,例如,print("abcdefg\rxyz")将导致xyzdefg。根据需要用空格填充文本。
import time
t1 = time.time()
obj = 0
while obj < 100000000:
obj = time.time() - t1
print(f"\r{obj}", end='')
time.sleep(0.5)
print("\nDone !")https://stackoverflow.com/questions/68117188
复制相似问题