删除用print()制作的单词

时间:2019-05-12 16:52:29

标签: python-3.x

我想编写代码,使数字从1到2到3,依此类推。

我正在Python 3上运行它。我已经尝试过:

import time
from sys import stdout
for i in range(1,20):
    stdout.write("\r%d" % i)
    stdout.flush()
    time.sleep(1)
stdout.write("\n") # move the cursor to the next line

但是使用该代码,我得到12345678910111213141541516171819。 有人可以帮忙吗? 编辑:我从Python,而不是从IDLE运行此代码,并且它可以工作。谁能解释?

1 个答案:

答案 0 :(得分:1)

对于我的设置,它可以工作(Arch Linux,Python3)。您是从IDE开始吗?还是从控制台?

也许另一种适合您的方法:

import time
from sys import stdout
for i in range(1,20):
    print(i)
    time.sleep(0.1)
    stdout.write("\033[F") #back to previous line
    stdout.write("\033[K") #clear line
stdout.write("\n") # move the cursor to the next line

想法找到here。此示例在我的控制台中有效,但当我直接从PyCharm启动时无效。