Python脚本打开并写入terminal

我的Raspberry Pi 3 Model B (OS NOOBS)上有一个Python脚本,它在运行时每分钟logging一次.csv文件的CPU温度。

我想知道的是,我怎么能从一个Python脚本打开一个terminal输出terminal中的温度,而不是将它logging到.csv文件中?

这是我迄今写的代码:

from gpiozero import CPUTemperature from time import sleep, strftime, time cpu = CPUTemperature() def output_temp(temp): with open("cpu_temp.csv", "a") as log: log.write("{0}, {1}\n".format(strftime("%Y-%m-%d %H:&M:%S"),str(temp))) while True: temp = cpu.temperature output_temp(temp) sleep(60) 

我打算使用我所要求的,所以当温度超过“x”度时,terminal将打开,打印温度,直到再次下降到“x”标记以下。 不过,由于我是一个还在学习的新手,我会自己去考虑一下。 但是我被卡在想要打开terminal并在那里打印variables的那一部分。

我正在使用“Python 3(IDLE)”软件编写并运行此代码。 完成后,我将整合它,以便在启动时自动运行。

任何援助将不胜感激! 真诚,乔克

我不能在树莓上测试它,但OS NOOBS应该有lxterminal可用,下面的代码应该工作。 如果你的系统上没有lxterminal ,安装它或者用下面的代码用xterm或者gnome-terminal等替换它。在Ubuntu 16上测试。

 import os import time import subprocess # create custom pipe file PIPE_PATH = "/tmp/my_pipe" if os.path.exists(PIPE_PATH): os.remove(PIPE_PATH) os.mkfifo(PIPE_PATH) # open terminal that reads from your pipe file a = subprocess.Popen(['lxterminal', '-e', 'tail --follow {0}'.format(PIPE_PATH)]) # write to file and it will be displayed in the terminal window message = "some message to terminal\n" with open(PIPE_PATH, "w") as p: p.write(message) time.sleep(5) # close the terminal a.terminate() 

您可以根据自己的需要调整写入文件和睡眠。 🙂