gpt4 book ai didi

python - multitail 如何缓冲其输出?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:35 25 4
gpt4 key购买 nike

这可能不是问题的最佳措辞。我试图在屏幕上同时查看 2 个文件。我跑:

multitail ~/path/to/somefile.err ~/path/to/somefile.out

我有一个包含以下几行的 python 脚本:

sys.stdout = open('~/path/to/somefile.out', 'a')
sys.stderr = open('~/path/to/somefile.err', 'a')

我的 multitail 命令似乎只输出我的 .out 文件,无论我将文件放在命令中的顺序如何。

我确认我的脚本确实在写入文件。同样有趣的是,当我运行以下命令时:

echo "text" >> ~/path/to/somefile.err

突然间,我在多尾屏幕上看到了 .err 文件的所有输出(包括之前没有显示的输出)!

这里发生了什么我看不到的事情?

附言这是我第一次使用 multitail,所以也许我忽略了一些简单的事情。如果这意味着什么,我正在使用 CentOS 7。

最佳答案

您需要在对 打开

默认是buffering=-1,相当于buffering=512,其值取决于系统,因此不会向文件写入任何内容直到写入 512(或其他)字节。


或者,您可以将 buffering 设置为其默认值,并在每次您希望数据出现在文件中时调用 .flush()


当您在 shell 中使用 >>> 时,将在命令退出时关闭文件,关闭意味着刷新。 (您可以使用 exec >> file.txt 延迟关闭)

关于python - multitail 如何缓冲其输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37575348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com