有没有办法删除 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 应用程序,有一个进度条小部件。
我在这里有疑问,我正在使用 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 应用程序,有一个进度条小部件。