Python 启动 运行 时将输出保存到文件 raspberry pi
Python save output to file when run at startup raspberry pi
我的 raspberry pi 有一个问题,它启动了一个 python 脚本,它在某处生成了一个异常,我已经捕获了打印到终端中的所有错误(如果 运行从闲置)。
但是在 运行 启动时如何将打印输出保存到文件中?
我在下面的互联网上找到了这个脚本,但它似乎没有写打印文本,它创建了文件但内容是空的(它应该每 30 秒打印一次 'Checking')
这是在 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
我的 raspberry pi 有一个问题,它启动了一个 python 脚本,它在某处生成了一个异常,我已经捕获了打印到终端中的所有错误(如果 运行从闲置)。
但是在 运行 启动时如何将打印输出保存到文件中? 我在下面的互联网上找到了这个脚本,但它似乎没有写打印文本,它创建了文件但内容是空的(它应该每 30 秒打印一次 'Checking')
这是在 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