>当我在Windows命令提示符或Linux终端中运行以下python 3代码时:
for i in range (10):
print('Step {0}'.format(i), end='r', flush=True)
print('everything is done', flush=True)
输出为:
everything is done
但是,当我在 Eclipse 中运行相同的代码时,输出为:
Step 0
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
Step 7
Step 8
Step 9
everything is done
什么可以解释这一点?
我使用 Eclipse Standard/SDK,版本:Kepler Release,内部版本号:20130614-0229。
听起来 Eclipse 试图提供帮助并将 \r 转换为 \r。这并不奇怪,因为像Eclipse这样在多个平台上运行的应用程序。
一种可能的解决方法是发送大量退格键而不是单个 \r。 (是的,这很丑陋和不方便,但它可能会完成工作。 一般来说,覆盖控制台输出是一个不确定的命题,您的结果会因上下文而异。