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