自动运行python脚本将输出保存到txt文件raspberry pi
我的raspberry pi启动python脚本时遇到了一个问题。当它在启动时运行时,如何将打印的输出保存到文件中?我在互联网上找到了下面的脚本,但它似乎没有写入打印文本,它创建了文件,但内容是空的自动运行python脚本将输出保存到txt文件raspberry pi,python,output,boot,autorun,Python,Output,Boot,Autorun,我的raspberry pi启动python脚本时遇到了一个问题。当它在启动时运行时,如何将打印的输出保存到文件中?我在互联网上找到了下面的脚本,但它似乎没有写入打印文本,它创建了文件,但内容是空的 sudo python /home/pi/python.py > /home/pi/output.log 它确实将其输出写入文件,但由于缓冲区从未刷新,在python文件完成执行之前,您无法看到它 如果将输出更改为python脚本中的文件,则可以在代码中周期性地调用flush,以便在需要时将
sudo python /home/pi/python.py > /home/pi/output.log
它确实将其输出写入文件,但由于缓冲区从未刷新,在python文件完成执行之前,您无法看到它 如果将输出更改为python脚本中的文件,则可以在代码中周期性地调用flush,以便在需要时将输出推送到文件中,如下图所示 导入系统 导入时间 outputFile=“output.txt”; 打开(输出文件“w+”)作为sys.stdout时: 尽管如此: 打印(“某些输出”) sys.stdout.flush()#强制将缓冲区内容输出到文件 时间。睡眠(5)#等待5秒 如果要将输出设置回终端,可能需要像这样保存对原始标准输出的引用
import time
outputFile = "output.txt";
original_stdout = sys.stdout
with open(outputFile, "w+") as sys.stdout:
print("some output in file")
sys.stdout.flush()
time.sleep(5)
sys.stdout = original_stdout
print("back in terminal")
python文件中的代码是否产生任何输出?如果您只是重定向一个脚本的输出,而该脚本只运行了一些内容,那么当我从空闲状态运行python文件时,它不会将任何内容写入日志文件,而是将输出写入txt文件,但在启动时,文本文件中的内容为空。python文件包含打印gpio引脚输入的无限while循环。在我的python文件中,我使用gpio引脚作为输入,并打印给定给gpio引脚的输入,某些计算取决于gpio引脚中的输入。当我从空闲状态运行python文件时,将给定给gpio引脚的输入和最终计算值写入txt文件,但在启动时运行文本文件中的内容为空。您只打印标准输出,而不是标准错误。这个脚本可能会失败。我对raspberry pi和python还不熟悉,所以我对它不太了解。那么我如何编写输出呢。