【问题标题】:Does ending a python 2.7 print statement with a comma not work in tmux?用逗号结束 python 2.7 打印语句在 tmux 中不起作用吗?
【发布时间】:2016-08-15 18:34:13
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: python bash python-2.7 tmux


    【解决方案1】:

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

    import sys
    print 'Progress...', 
    for i in range(15):
        ...
        print i, 
        sys.stdout.flush()
    print
    

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

    【讨论】:

    • 在 tmux 中执行此操作与 tmux 需要刷新缓冲区的终端有什么区别?您知道为什么需要这样做吗?
    猜你喜欢
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 2018-02-17
    • 2023-04-01
    • 2017-08-29
    • 1970-01-01
    相关资源
    最近更新 更多