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

Python 通过更新已输出的行来打印行,python,Python,如果标题不清楚,请原谅,但我不能用一句话更好地描述它 假设我在一个循环中有以下内容,它在每次运行时递增计数器 output_string='输入数字[{0}]'。格式(计数器) 当我执行打印输出\u字符串时,输出如下: Enter the number [1]: 当我用递增的数字再次打印这一行时,如: Enter the number [2]: 当然,它将跟随第1行,累积输出将是: Enter the number [1]: Enter the number [2]: 然而,我不想要这个

如果标题不清楚,请原谅,但我不能用一句话更好地描述它

假设我在一个循环中有以下内容,它在每次运行时递增
计数器

output_string='输入数字[{0}]'。格式(计数器)

当我执行
打印输出\u字符串
时,输出如下:

Enter the number [1]: 
当我用递增的数字再次打印这一行时,如:

Enter the number [2]:
当然,它将跟随第1行,累积输出将是:

Enter the number [1]:
Enter the number [2]:
然而,我不想要这个。我希望第一行应该被更新,并且在不添加另一行的情况下,输出应该在第一行本身中更改

类似地,它应该显示
输入数字[1]:
,然后它应该就地替换[1],屏幕应该显示:
输入数字[2]
,而不添加额外的行


我希望我说得很清楚。我这样做的原因是因为我接受了用户的大量输入,我不想在一行内不断增加我想要的内容时把终端弄得乱七八糟。

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

试试这个

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

如果您使用的是Python2.7,请不要忘记来自uuu future uuu导入print u函数的

我可以,但我真的不希望自己仅限于Linux。所以,如果有其他方法,我可能会在签出curses之前尝试一下。函数:curses可用于Windows@讲坛小说:很公平。有很多方法可以让
诅咒
在Windows上工作,但当我看着它们时,它们看起来都很可怕。如果你能找到一种Windows友好的方法来实现这一点,我也会很有用。这个问题不是Linux/Windows特定的per si,而是与终端仿真相关的。假设您将从cmd.exe启动python,您想知道如何控制cmd上的光标位置。终端对许多行感到满意。为什么“弄乱终端”不好?此外,如果有人想用
script
命令来累积脚本,他们会搞得一团糟。为什么要阻止某人使用
脚本
?我不想让它在这个脚本中工作,我更想知道它是如何完成的。我不明白——它应该做什么,而原来的解决方案没有做什么?@Katrielex:它可能不会在某些终端窗口上“向下”移动。它可能会覆盖该行,具体取决于设置。@S.Lott:它仍然不是就地替换。我想这是可能的,因为我在什么地方见过它。我本想看一下资料来源,但我记不起在哪里了:除此之外,任何东西都是终端特定的。它需要两个单独的版本,一个用于Linux(使用TERMIO设置),另一个用于Windows。@S.Lott:Aah谢谢。还有,谢谢你那本了不起的书。我目前正在关注这一点(用Python构建技能)。