通过更新已输出的行来打印行

时间:2010-09-09 14:54:39

标签: python

如果标题不清晰,请原谅我,但我无法用一句话更好地描述它。

考虑我在循环中有以下内容,每次运行时都会增加counter

output_string = 'Enter the number [{0}]'.format(counter)

当我执行print output_string时,输出如下:

Enter the number [1]: 

当我再次使用递增的数字打印此行时,例如:

Enter the number [2]:

它当然会跟随第一行,累积输出将是:

Enter the number [1]:
Enter the number [2]:

但是,我不想要这个。我想要更新第一行,而不添加另一行,输出应该只在第一行本身改变。

之类的,它应显示Enter the number [1]:,然后它应该为[1]进行就地替换,屏幕应显示为:Enter the number [2],而不添加额外的行。

我希望我很清楚。我这样做的原因是因为我正在接受用户的大量输入,而且当我可以在一行内继续增加我想要的内容时,我不想让终端混乱。

2 个答案:

答案 0 :(得分:1)

如果您的脚本将在Unix / Linux上运行,您可以使用the curses module

答案 1 :(得分:1)

试试这个

print('enter the number[1]', end='\r' )

如果您使用的是Python 2.7,请不要忘记from __future__ import print_function