Python打印在同一行

时间:2014-11-12 14:45:24

标签: python

我一直在尝试将输出写入同一行,并且已经搜索过Stackoverflow。似乎对其他人有用的东西并不适合我!这是我的代码:

count = float(len(emails))
counter = 0
symbols = ["/","-","|","\\","|"]
for e in emails:
    print '%s inserting emails %s%%\r' % (symbols[counter % 5], counter / count * 100),
    sys.stdout.flush()
    counter += 1    

打印后的逗号仍会导致回车!!

| inserting emails 3.312%
\ inserting emails 3.313%
| inserting emails 3.314%
/ inserting emails 3.315%
- inserting emails 3.316%
| inserting emails 3.317%
\ inserting emails 3.318%

问题是什么?

1 个答案:

答案 0 :(得分:0)

您的控制台有可能不支持此功能。您可以使用其他打印方法在没有换行符的情况下测试您的功能(使用sys)。

执行此操作的方法是使用sys.stdout.write('')命令。举个例子:

import sys 
sys.stdout.write('hello %d' %(1))

您的输出将是

>>> sys.stdout.write('hello %d' %(1))
hello 1>>>