我的树莓派有一个问题,它启动了一个 python 脚本,它在某处生成了一个异常,我已经捕获了打印到终端中的所有错误(如果从空闲运行)。
但是,当它在启动时运行时,如何将打印输出保存到文件中呢? 我在下面的互联网上找到了这个脚本,但它似乎没有写打印文本,它创建了文件但内容是空的(每 30 秒它应该打印“检查”)
这是在 pi 启动后执行的代码,它完美地显示了 GUI 元素(是的,由于 GPIO 引脚需要 sudo)
#!/bin/sh
startx
sudo python /home/pi/python_gui.py > /home/pi/output.log
希望有人知道答案,在此先感谢!
最佳答案
如果看不到正在输出的错误,将很难调试任何失败的脚本。所以,首先你应该确保你正在记录异常。线路:
sudo python /home/pi/python_gui.py > /home/pi/output.log
会将 stdout
重定向到文件 /home/pi/output.log
。但是,如果您想记录错误,您还需要重定向 stderr
。您在这里有两个选择,要么将 stderr
重定向到不同的文件,要么通过将其重定向到 stdout
来将其重定向到同一文件。例如:
重定向到新文件:
sudo python /home/pi/python_gui.py > /home/pi/output.log 2> /home/pi/error.log
重定向到同一个文件:
sudo python /home/pi/python_gui.py &> /home/pi/output.log
或者:
sudo python /home/pi/python_gui.py > /home/pi/output.log 2>&1
您可以找到更多信息和示例 on this question .
如果您想在每次运行时更新日志文件,您可以使用 >>>
附加到它,例如:
sudo python /home/pi/python_gui.py &>> /home/pi/output.log
关于python 在启动树莓派时运行时将输出保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34812798/