繁体   English   中英

在python脚本中运行bash命令X秒钟

[英]Run bash command in python script for X seconds

我在树莓派上连接了一个gps,并试图用它对来自传入相机的照片进行地理标记。 通过发出命令“ gpsd -nND2 / dev / ttyUSB0”,我可以获得连续gps数据的bash回显输出,以后可以对其进行解析。 我只需要平均10个左右的数据点(在10秒钟内收集),然后在那之后关闭gpsd。

我一般的游戏中时光倒流程序是用python编写的,这就是我到目前为止的内容:

(stdout, stderr) = Popen(["gpsd","-nND2,"/dev/ttyUSB0"], stdout=PIPE).communicate()

不幸的是,这会输出到变量stdout无限数量的我无法解析的数据点。 输出非常像永无止境的ping例程。 如何停止数据收集以进行合理/可分析的数据转储?

谢谢您的帮助。

根据该文件 ,你应该看控制台输出,而是使用gps d作为d aemon,通过TCP它沟通:

客户端应用程序将通过TCP / IP端口(默认为2947)与gpsd通信)。

这样行吗? 我还没有测试。

proc = Popen(["gpsd","-nND2","/dev/ttyUSB0"], stdout=PIPE)

samples = []
for _ in range(10):
    samples.append(proc.stdout.readline())

proc.terminate()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM