我在这里有一个疑问,我在Windows 7 64位上使用Python IDLE 3.8.5 [MSC v.1926 32位(Intel)]。
我想创建一个倒数计时器,但是使用以下代码:
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')
请帮助我,如果你们告诉我解决方案,这对我会很有用。
答案 0 :(得分:0)
如果您在Windows上,请尝试此操作
import time
import os
for sec in range(10):
os.system('CLS')
print(sec+1)
time.sleep(2)
答案 1 :(得分:0)
如果编写一个终端应用程序,则为“ NO”。当前,必须在终端窗口中测试此终端行为。
IDLE Shell是GUI应用程序,当前不尝试模仿终端。 (例如,这就是为什么人们可以编写,提交和调用多行语句的原因。)有人在讨论以某种方式使“某些” ANSI代码“起作用”,但没有达成协议。
我想提供在系统终端中运行代码的选项,但这需要更多的实验。
如果编写tkinter应用程序,则有一个Progressbar小部件。