以逗号结尾的 python 2.7 print 语句在 tmux 中不起作用吗?

Does ending a python 2.7 print statement with a comma not work in tmux?

几乎就是问题中的内容。我在 tmux 中有一个缓慢的过程 运行,我想通过打印循环变量来记录 for 循环的进度。

print 'Progress...', 
for i in range(15):
    ...
    print i, 
print

这适用于我的终端。然而,在 tmux 中,它不会打印任何内容,直到它在最后一次打印时遇到换行命令。在同一行重复打印在 tmux 中不起作用吗?我该如何补救?这没什么大不了的,我只是很好奇我能做什么,因为我对 bash 脚本编写了解不多。

谢谢!

这几乎可以肯定是由于输出缓冲造成的。您可以通过调用 flush:

来检查原因
import sys
print 'Progress...', 
for i in range(15):
    ...
    print i, 
    sys.stdout.flush()
print

如果这解决了您的问题,您可以考虑 运行 python unbuffered