尝试将 Python 脚本中的 stdout 写入文本文件 ( python script.py > log) 时,会在命令启动时创建文本文件,但在 Python 脚本完成之前不会写入实际内容。例如:
脚本.py:
import time
for i in range(10):
print('bla')
time.sleep(5)
Run Code Online (Sandbox Code Playgroud)
使用 调用时每 5 秒打印到标准输出python script.py,但是当我调用 时python script.py > log,日志文件的大小保持为零,直到脚本完成。是否可以直接写入日志文件,以便您可以跟踪脚本的进度(例如使用tail)?
编辑事实证明,这样python -u script.py做的技巧,我不知道标准输出的缓冲。