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

2024-04-23 22:58:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个gps连接到我的树莓皮,并试图用它来地理标签的照片从一个传入的相机。通过发出命令“gpsd-nND2/dev/ttyUSB0”,我可以获得连续gps数据的bash echo输出,这些数据可以在以后解析。我只需要平均10个数据点(收集超过10秒),然而,我想关闭gpsd关闭后。在

我的一般timelapse程序是用python编写的,所以到目前为止我所拥有的是:

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

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

谢谢你的帮助。在


Tags: 数据dev命令echobashstdout标签地理
1条回答
网友
1楼 · 发布于 2024-04-23 22:58:11

这行吗?我没试过。在

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

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

proc.terminate()
网友
2楼 · 发布于 2024-04-23 22:58:11

根据the docs,您应该而不是查看控制台输出,而是使用gpsd作为一个daemon,通过TCP与它通信:

Client applications will communicate with gpsd via a TCP/IP port, 2947 by default).

相关问题 更多 >