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

Tol*_*rol 0 python linux bash loops subprocess

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

Arn*_*lca 9

第一个(也是明显的)解决方案

可能需要更多的努力(或者不是 - 你决定),这可能是最好的方法是使用pySerial自己打开设备(这是一个例子),然后用数据做任何你喜欢的事情 - 把它写到一个文件,解析它,发送给NASA或以上所有.:)



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

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

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

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

重定向到一个文件(>),然后写一个不同的二进制文件/脚本,将在写入文件时读取(tail -f如果). 是在编写python时读取文件的示例.

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