小编Syn*_*lat的帖子

将标准输出重定向到文件时,Python 脚本不写入任何输出

我在树莓派上启动时运行了一个 python 脚本(工作正常),我想将输出附加到现有的文本文件中。我在我的 /etc/rc.local 文件中得到了这个代码(我用 cron 尝试了同样的方法,但由于某种原因它甚至没有启动脚本)。

python3 /home/pi/script.py >> /home/pi/log.txt 
Run Code Online (Sandbox Code Playgroud)

不幸的是,无论我尝试什么,日志文件总是空的,除非我直接运行相同的命令并通过按 ctrl+c 而不是 ctrl+z 中止脚本。似乎脚本在向文件写入任何内容之前必须以正确的方式关闭,但我希望它逐渐保存每个输出的文件。

编辑:我解决了。显然,只有在填充一定数量的内存或脚本完成后才会写入文件是正常的(这在我的情况下从未发生过,因为我总是在这之前重新启动 pi)。添加标志 -u 以立即写入文件。

python3 -u /home/pi/script.py >> /home/pi/log.txt 
Run Code Online (Sandbox Code Playgroud)

bash python-3.x raspberry-pi3

13
推荐指数
1
解决办法
4508
查看次数

标签 统计

bash ×1

python-3.x ×1

raspberry-pi3 ×1