Python:如何让脚本进入和退出minicom终端?

时间:2014-08-22 13:40:57

标签: python linux bash loops subprocess

为了输入minicom并保存它的日志,我使用" sudo minicom -C nameoffile",但是我想在循环中执行此操作,打开minicom可以通过使用子进程来完成但是我无法&# 39;找不到任何东西在我的循环中退出minicom并继续循环,因为你需要输入" ctrl-a,然后x"或者" ctrl-a,然后q"必须按回车确认。有人有任何想法或建议吗?

1 个答案:

答案 0 :(得分:9)

第一个(也是显而易见的)解决方案

可能会花费更多的努力(或者不是 - 你决定)并且可能最好的方式是open the device yourself using pySerialand here's an example)然后执行此操作无论你喜欢什么数据 - 将其写入文件,解析它,发送给NASA或以上所有。 :)



如果你坚持要解决这个问题:

我能想到的一种可能性......

将minicom命令传递给tee。管道通过tee时,您可以为其提供一个文件名(以登录)和管道tee作为您自己的二进制/脚本的输入。这应该注意记录+解析输入。 (我没有尝试使用minicom,我不确定你将如何退出你的管道程序)。

我能想到的另一种可能性......

重定向到文件(>),然后编写一个不同的二进制文件/脚本,在写入文件时读取该文件(如tail -f所做的那样)。 Here's在编写python时读取文件的示例。

由于它是串行数据,我猜它很慢(特别是NMEA),所以如果你把它写入文件并使用不同的二进制/脚本读取它,我认为你不会有太多延迟。