强制刷新 Bash 脚本的 Python 部分?

问题描述 投票:0回答:1

我有一个简单的 Bash 脚本,其 99% 以上的时间都花在执行 Python 应用程序上(该脚本只是一个包装器,在 for 循环中提供此 Python 脚本文件并重命名输出文件)。我遇到了与here描述的相同问题,并查看了答案,但不明白如何在我的上下文中使用它们。

我认为我需要在我的脚本中、执行 Python 脚本的行上应用该问题答案中的原则,但是如何实现呢?

我的脚本为伪代码:

for file in "$directory"; do
    pythonscript "$file" >> "log.txt"; then
done

我想每分钟刷新pythonscript行,它产生的每一行输出或类似的,这并不重要(通常执行需要几个小时,我只是希望能够经常跟踪“合理”的输出) .

python bash shell buffer flush
1个回答
0
投票

您可以使用

PYTHONUNBUFFERED
环境变量

export PYTHONUNBUFFERED=true
for file in "$directory"; do
    pythonscript "$file" >> "log.txt"; then
done
© www.soinside.com 2019 - 2024. All rights reserved.