提问人:d-b 提问时间:11/3/2023 更新时间:11/3/2023 访问量:55
强制刷新 Python-Bash-script 的一部分?
Force flush Python-part of Bash-script?
问:
我有一个简单的 Bash 脚本,它花费了超过 99% 的时间来执行 Python 应用程序(该脚本只是一个包装器,它在 for 循环中提供此 Python 脚本文件并重命名输出文件)。我有与此处描述的相同的问题,并且已经查看了答案,但不明白如何在我的上下文中使用它们。
我想我需要在我的脚本中,在执行 Python 脚本的行上应用该问题答案中的原则,但如何应用呢?
我的脚本是伪代码:
for file in "$directory"; do
pythonscript "$file" >> "log.txt"; then
done
我想每分钟刷新pythonscript行,它产生的每一行输出或类似,这并不重要(通常执行需要几个小时,我只希望能够经常跟踪输出“合理”)。
答:
1赞
Diego Torres Milano
11/3/2023
#1
你可以使用 env varPYTHONUNBUFFERED
export PYTHONUNBUFFERED=true
for file in "$directory"; do
pythonscript "$file" >> "log.txt"; then
done
评论
/homedir/MyScript
stdbuf -oL /homedir/MyScript
pythonscript "$file"
stdbuf -oL pythonscript "$file"
stdbuf
for file in "$directory"; do whatever; done >log.txt
for file in "$directory"; do whatever >> log.txt; done
for file in "$directory"
stdbuf
GNU core utils