有没有办法删除 Python IDLE 中的输出

Is there a way to delete output in Python IDLE

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

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

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.using ('\r') 和 ('\b')

请大家帮帮我,如果你们告诉我解决方案,对我会有很大用处。

如果你在 windows 试试这个,

import time
import os


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

如果编写终端应用程序,'NO'。目前,必须在终端 window.

中测试此终端行为

IDLE Shell 是一个 GUI 应用程序,目前不尝试模仿终端。 (这就是为什么,例如,可以编写、提交和调用多行语句的原因。)已经有一些关于以某种方式制作 'some' ANSI 代码 'work' 的讨论,但没有达成一致。

我想在系统终端中提供 运行 代码的选项,但这需要更多的实验。

如果一个人写一个 tkinter 应用程序,有一个进度条小部件。