2017-03-25 18 views
1

当我运行在Windows命令提示或Linux终端以下Python 3代码:回车在Eclipse和在命令提示不同的行为

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

这听起来像Eclipse试图帮助和转换\ r \ r \ n。这并不令人惊讶,它来自像Eclipse这样的应用程序,它运行在多个平台上。

一种可能的解决方法是发送大量后退而不是单个\ r。 (是的,这很丑陋,不方便,但它可能会完成工作。)一般来说,覆盖控制台输出是一个不确定的命题,您的结果将根据上下文而有所不同。

相关问题