Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动运行python脚本将输出保存到txt文件raspberry pi_Python_Output_Boot_Autorun - Fatal编程技术网

自动运行python脚本将输出保存到txt文件raspberry pi

自动运行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,以便在需要时将

我的raspberry pi启动python脚本时遇到了一个问题。当它在启动时运行时,如何将打印的输出保存到文件中?我在互联网上找到了下面的脚本,但它似乎没有写入打印文本,它创建了文件,但内容是空的

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还不熟悉,所以我对它不太了解。那么我如何编写输出呢。