当我在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,Build id:20130614-0229。
答案 0 :(得分:0)
听起来Eclipse试图提供帮助并将\ r \ n转换为\ r \ n。来自像Eclipse这样在多个平台上运行的应用程序就不足为奇了。
一种可能的解决方法是发送大量退格而不是单个\ r。 (是的,这很丑陋,不方便,但它可能会完成工作。)一般来说,覆盖控制台输出是一个不确定的命题,你的结果将根据具体情况而有所不同。