首页 > 解决方案 > 有没有办法在 Python IDLE 中删除输出

问题描述

我在这里有疑问,我正在使用带有 Windows 7 64 位的 Python IDLE 3.8.5 [MSC v.1926 32 位(英特尔)]。

我想创建一个倒数计时器,但是使用以下代码:

for sec in range(10) :
    print(sec + 1)

输出为:1 2 3 4 5 6 7 8 9 10

而我想要的是:

1 #erases output and then prints 2 and so on

我该如何解决这个问题?

我从互联网上尝试了以下方法并且堆栈溢出本身:

1.Ansi代码:- ('\033c'), ('\x1bc')

2.system('cls') 和 'clear' (它显示 cmd 片刻然后退出)

3.sys.stdout.flush

4.subprocess调用系统('cls')和'clear'

5.Ansi代码:-'\x1b[1A')

#delete last line
sys.stdout.write('\x1b[2K')

6.使用 ('\r') 和 ('\b')

请帮助我,如果你们告诉我解决方案,这对我很有用。

标签: pythonpython-idle

解决方案


如果你在 Windows 上试试这个,

import time
import os


for sec in range(10):
   os.system('CLS')
   print(sec+1)
   time.sleep(2)

推荐阅读