我在树莓派上启动时运行了一个python脚本(运行良好),我想将输出附加到现有的文本文件中。 我在/etc/rc.local文件中获得了此代码(我使用cron尝试了相同的操作,但是由于某种原因它甚至没有启动脚本)。
python3 /home/pi/script.py >> /home/pi/log.txt
不幸的是,无论我如何尝试,日志文件始终为空,除非我直接运行同一命令并通过按ctrl + c(而不是ctrl + z)中止脚本。似乎该脚本必须先以正确的方式关闭,然后才能将任何内容写入文件,但我希望它逐步将文件的每一个输出保存起来。
编辑:我解决了。显然,仅在填充了一定数量的内存或脚本完成后才写入文件是正常的(这对我而言从来没有,因为我总是在可能发生之前重新启动pi)。添加-u标志可立即写入文件。
python3 -u /home/pi/script.py >> /home/pi/log.txt
答案 0 :(得分:1)
如果您使用print输出文本,则其参数flush
可能会帮助您:
print('Hello, World', flush=True)
否则:
import sys
sys.stdout.write('Hello, world\n')
sys.stdout.flush()
将具有相同的效果。