我有来自source的Python代码,可以用来处理GPRMC格式。我修改了数据来自"gpsd -d | awk -F ':' 'BEGIN{OFS=\":\"}{print $2}' | grep GPRMC"
的代码,其列表如下:
$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70
$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70
所以当我启动它时,我得到了一个错误:
data = ser.readline()
AttributeError: 'str' object has no attribute 'readline
以下是代码的一部分:
port = "gpsd -d | awk -F ':' 'BEGIN{OFS=\":\"}{print $2}' | grep GPRMC"
print("Receiving GPS data")
ser = port
find = False
while find == False:
print("Waiting for GPRMC data")
data = ser.readline()
if data[0:6] == "$GPRMC":
parsingData = data.split(",")
print(parsingData)
if parsingData[2] == "A":
parseGPS(data)
find = True
请帮我把这个修好。 ps:我不是python的程序员,只是几天我才开始使用这种语言,很抱歉我的英语不好
从我读到的:你跑
gpsd -d | awk -F ':' 'BEGIN{OFS=\":\"}{print $2}' | grep GPRMC
在操作系统中,它返回
$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70
这是我的解决方案。希望对您有所帮助:
这里有两个问题。你知道吗
(1)
ser
是一个字符串。您需要先运行该字符串中的命令,然后才能获得任何输出。你知道吗(2)一旦有了输出,就不会使用
readline
——这就是从打开的文件中读取行的方式,并且输出不会在文件中。你知道吗熟悉如何通过python运行OS命令。有很多方法可以做到这一点。如果你不知道从哪里开始,这里有一个很好的概述:https://stackoverflow.com/a/92395
相关问题 更多 >
编程相关推荐