我一直在尝试将输出写入同一行,并且已经搜索过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%
问题是什么?
答案 0 :(得分:0)
您的控制台有可能不支持此功能。您可以使用其他打印方法在没有换行符的情况下测试您的功能(使用sys)。
执行此操作的方法是使用sys.stdout.write('')
命令。举个例子:
import sys
sys.stdout.write('hello %d' %(1))
您的输出将是
>>> sys.stdout.write('hello %d' %(1))
hello 1>>>