结束使用逗号的python 2.7 print语句在tmux中不起作用?

nes*_*boy 3 python bash python-2.7 tmux

几乎就是问题所在.我在tmux中运行一个缓慢的进程,并希望通过打印循环变量来记录for循环的进度.

print 'Progress...', 
for i in range(15):
    ...
    print i, 
print
Run Code Online (Sandbox Code Playgroud)

这适用于我的终端.但是,在tmux中,它在打到最后一次打印的换行命令之前不会打印任何内容.重复打印在同一行上是不是在tmux中工作?我怎么能补救这个?这不是什么大问题,我只是好奇我能做什么因为我对bash脚本不太了解.

谢谢!

wim*_*wim 5

这几乎肯定是由于输出缓冲.您可以通过调用flush来检查原因:

import sys
print 'Progress...', 
for i in range(15):
    ...
    print i, 
    sys.stdout.flush()
print
Run Code Online (Sandbox Code Playgroud)

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