python - 如何删除python中的最后一个打印行?
问题描述
我正在尝试用python制作倒计时程序。我想把它变成它删除最后打印的行,所以我可以打印新的第二行。
import time
def countdown():
minute = 60
while minute >= 0:
m, s = divmod(minute, 60)
time_left = str(m).zfill(2) + ':' + str(s).zfill(2)
print(time_left)
time.sleep(1)
minute -= 1
countdown()
我在 Raspberry Pi 上运行 python 2.7.13。
解决方案
您可以直接写入stdout
,而不是使用 print. 并且\r
字符将转到行首,而不是下一行。
import time
import sys
def countdown():
minute = 60
while minute >= 0:
m, s = divmod(minute, 60)
time_left = str(m).zfill(2) + ':' + str(s).zfill(2)
sys.stdout.write("%s\r" % time_left)
sys.stdout.flush()
time.sleep(1)
minute -= 1
推荐阅读
- python - 为什么我的 python 函数 sum_points 总是返回相同的结果?
- android - 适用于旧 android 版本的芯片组
- java - MySql Workbench 上未显示数据
- c++ - 带有随机数的 C++ 字符串练习
- angular - 如何测试方法的返回值 [Jasmine]
- powershell - 通过 PowerShell 向组授予 SharePoint Online 文件夹权限
- python - 如何使用列表理解并在每次字符串包含单词时放置 1
- c++ - 具有外部定义的默认特殊成员函数
- c - C中代码的错误功能。程序似乎显示垃圾
- winapi - Winapi - 如何为 MS Edge 浏览器实现等效的 LWA_COLORKEY