Python 脚本 运行 在后台不写入文件?

Python script run in background not writing to file?

我已经创建了我的第一个 python 脚本,它在前台运行良好,但是当我 运行 它在后台创建时,它创建了,但无法将任何内容写入文件。我 运行 使用命令的脚本:python -u testit.py &
请帮我理解为什么会这样。

#!/usr/bin/env python

import time
import datetime
dt = datetime.datetime.now()
dtLog = dt.strftime("ThermoLogs/TempLOG%Y%m%d")
f = open(dtLog,"a")
while True:
    dt = datetime.datetime.now()
    print('{:%Y-%m-%d %H:%M:%S}'.format(dt))
    f.write('{:%Y-%m-%d %H:%M:%S}'.format(dt))
    f.write('\n')
    time.sleep(5)

输出将以突发形式到达(正在缓冲)。将睡眠设置为 0.01 后,我大约每 2 秒就会爆发一次。因此,对于 5 的延迟,您获得它们的频率会大大降低。您可能还会注意到,当您终止它时,它会输出所有待处理的输出。

要使输出立即到达,请调用 f.flush()

我看不出前景和背景有什么区别。但是,它不应该在进入终端时缓冲标准输出。