首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python在启动raspberry pi时将输出保存为文件

Python在启动raspberry pi时将输出保存为文件
EN

Stack Overflow用户
提问于 2016-01-15 14:04:19
回答 1查看 4.6K关注 0票数 2

我的raspberry pi (启动python脚本)有一个问题,它会在某个地方生成一个异常,并且我捕获了所有打印到终端中的错误(如果从空闲中运行)。

但是,如何在文件启动时将打印的输出保存到文件中呢?我在网上找到了这个脚本,但是它似乎没有写打印出来的文本,它创建了文件,但是内容是空的(它应该每隔30秒打印一次“检查”)。

这是pi引导后正在执行的代码,它完美地显示了GUI元素(是的,由于GPIO引脚需要sudo )。

代码语言:javascript
运行
复制
#!/bin/sh
startx
sudo python /home/pi/python_gui.py > /home/pi/output.log

希望有人知道答案,谢谢提前!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-15 14:24:51

如果没有看到正在输出的错误,就很难调试任何失败的脚本。因此,首先您应该确保您正在记录异常。这句话:

代码语言:javascript
运行
复制
sudo python /home/pi/python_gui.py > /home/pi/output.log

stdout重定向到文件/home/pi/output.log。但是,如果您想记录错误,还需要重定向stderr。这里有两个选择,要么将stderr重定向到不同的文件,要么通过将它重定向到stdout来将它重定向到同一个文件。例如:

若要重定向到新文件:

代码语言:javascript
运行
复制
sudo python /home/pi/python_gui.py > /home/pi/output.log 2> /home/pi/error.log

若要将两个文件重定向到同一个文件,请执行以下操作:

代码语言:javascript
运行
复制
sudo python /home/pi/python_gui.py &> /home/pi/output.log

或者:

代码语言:javascript
运行
复制
sudo python /home/pi/python_gui.py > /home/pi/output.log 2>&1

您可以找到更多的信息和示例on this question

如果您希望每次运行时更新日志文件,则可以使用>>追加日志文件,例如:

代码语言:javascript
运行
复制
sudo python /home/pi/python_gui.py &>> /home/pi/output.log
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34812798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档