python - Pynmea2 AttributeError `NoneType` 对象没有属性 `num_sats`
问题描述
尝试创建条件语句时出现此错误。上周我尝试了很多事情来让它工作,但我尝试的一切都失败了。如果这是pynmea结节特有的,任何人都可以解释一下吗?
def parse_gps(incoming_data):
if incoming_data.find("GGA") > 0:
data = pynmea2.parse(incoming_data)
print("Timestamp: %s // Lat: %s // Lon: %s // Satellites: %s " % (data.timestamp, data.latitude,
data.longitude, data.num_sats))
return data
while True:
gps_fix = ser.readline().decode('ascii')
gps_data = parse_gps(gps_fix)
if gps_data.num_sats > 7:
break
else:
print("No data")```
Should find a fix of satellites greater than 7 in order to gain a valid fix then break.
解决方案
while True:
gps_fix = ser.readline().decode('ascii')
gps_data = parse_gps(gps_fix)
if gps_data is not None and int(gps_data.num_sats) > 7:
break```
After a few errors about str and int i finally managed to work out the fix.
推荐阅读
- javascript - 我如何在 Sequelize 中找到一小时后的值
- javascript - 如何为尝试在没有互联网的情况下连接到页面的人制作自定义错误页面?
- java - midi.Sequencer 的序列何时结束?
- python - 如何确定至少一个 2 项集是否在 3 项集列表中?
- amazon-web-services - 如何限制数据存储库站点上用户的公开下载?
- typescript - TypeScript:如何正确键入此 `groupBy` 函数
- python - Pycares (Setup.Py) 错误的构建轮
- javascript - 手风琴菜单有一个跳跃的过渡
- python - 如何调整散点图的标记大小,使其匹配给定的半径?(使用 matplotlib 转换)
- d3.js - 为 d3.select 元素指定的宽度/高度与实际绘图区域之间的关系是什么?