【PX4日志解析报错】pyulog工具解析日志出错

embedded/2025/2/24 6:13:47/

px4的日志文件一直通过pyulog做解析 但是发现有的时候会出现错误,解析不了,使用网站解析也会失败,但是这把数据很重要所以想办法必须解决,报错如下

zzh@zzh-System-Product-Name:~/Desktop/log/log223/log42$ ulog_info -m MESSAGE log_42_2025-2-23-17-08-34.ulg 
Traceback (most recent call last):File "/home/zzh/.local/bin/ulog_info", line 8, in <module>sys.exit(main())File "/home/zzh/.local/lib/python3.8/site-packages/pyulog/info.py", line 85, in mainulog = ULog(ulog_file_name, None, disable_str_exceptions)File "/home/zzh/.local/lib/python3.8/site-packages/pyulog/core.py", line 138, in __init__self._load_file(log_file, message_name_filter_list)File "/home/zzh/.local/lib/python3.8/site-packages/pyulog/core.py", line 823, in _load_fileself._read_file_definitions()File "/home/zzh/.local/lib/python3.8/site-packages/pyulog/core.py", line 868, in _read_file_definitionsmsg_info = self._MessageInfo(data, header, is_info_multiple=True)File "/home/zzh/.local/lib/python3.8/site-packages/pyulog/core.py", line 562, in __init__self.value = ULog.parse_string(data[1+key_len:])File "/home/zzh/.local/lib/python3.8/site-packages/pyulog/core.py", line 93, in parse_stringret = _parse_string(cstr)File "/home/zzh/.local/lib/python3.8/site-packages/pyulog/core.py", line 19, in _parse_stringreturn str(cstr, 'utf-8', errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe5 in position 218: unexpected end of data

定位问题,我是用linux,找到运行的包pyulog包,在python3.8下面
打开这个core.py文件
找到报错的这个函数_parse_string

@staticmethoddef parse_string(cstr):"""wrapper for _parse_string withparametrized exception handling"""ret = ''if _RUNNING_PYTHON3 and ULog._disable_str_exceptions:ret = _parse_string(cstr, 'ignore')else:ret = _parse_string(cstr)return ret

经过deepseek指点,把else后面的分支改成

        else:# 默认使用 'replace' 替换无法解码的字节ret = _parse_string(cstr, 'replace')

保存后,再次运行pyulog命令,全部解析出来了


http://www.ppmy.cn/embedded/164766.html

相关文章

朗致集团面试-Java架构师

总结 三轮面试&#xff0c;第一轮是逻辑测试性格测试&#xff0c;第二轮是技术面试&#xff08;面试官-刘老师&#xff09;&#xff0c;第三轮是CTO面试&#xff08;面试官-屠老师&#xff09;。第三轮Coding做完之后共享屏幕讲一个你自己负责过的项目&#xff08;请提前准备好…

【FAQ】HarmonyOS SDK 闭源开放能力 —Live View Kit (1)

1.问题描述&#xff1a; 客户端创建实况窗后&#xff0c;通过Push kit更新实况窗内容&#xff0c;这个过程是自动更新的还是客户端解析push消息数据后填充数据更新&#xff1f;客户端除了接入Push kit和创建实况窗还需要做什么工作&#xff1f; 解决方案&#xff1a; 通过Pu…

【部署优化篇三】《DeepSeek边缘计算实战:把目标检测模型塞进树莓派,让AI在巴掌大的设备上“开天眼“》

“谁说只有超级计算机才能跑AI?今天咱们就要在树莓派上玩转DeepSeek目标检测,让这个巴掌大的小盒子变成会‘看’世界的智能终端!” 本文手把手教你从零开始,把最潮的目标检测模型塞进树莓派。全程高能预警,建议准备好你的树莓派4B/5和散热风扇,咱们这就开启边缘计算的魔法…

第二周补充:Go语言中取地址符与fmt函数详解

第二周补充&#xff1a;Go语言中&取地址符与fmt函数详解 在Go语言中&#xff0c;& 是取地址符&#xff0c;用于获取变量的内存地址。具体到代码 fmt.Scanln(&celsius) 中&#xff1a; 作用&#xff1a;&celsius 获取变量 celsius 的内存地址&#xff0c;使得 …

CF1801D

CF1801D 题目大意&#xff1a; n n n 个顶点&#xff0c; m m m 条边的图。你一开始在起点 1&#xff0c;拥有 P P P 枚硬币&#xff0c;通过每条 ( i , j ) (i,j) (i,j) 边都需要花费一定的硬币 s ( i , j ) s(i,j) s(i,j)。但你在每个城市 i i i 都可以打工赚硬币 w i w…

AI学习第一天-什么是AI

AI的发展可以被分为四次浪潮&#xff0c;这包括符号主义、机器学习与神经网络&#xff0c;以及深度学习。在这些发展中&#xff0c;深度学习凭借其在处理非结构化复杂数据、强大的学习能力和可解释性方面的优势备受关注。深度学习技术的应用不仅提升了AI系统的性能&#xff0c;…

项目上传github步骤

上传到 GitHub 的步骤大致是这样的&#xff1a; 1. 添加文件到暂存区 首先&#xff0c;你需要将你修改的文件添加到 Git 的暂存区。使用 git add . 可以将当前目录下的所有文件&#xff08;包括新增文件和修改过的文件&#xff09;添加到暂存区&#xff1a; git add .2. 提交…

【AI】面试高频考点-数据标注规则

【AI】面试高频考点-数据标注规则 一、明确标注目标与场景二、制定标注规范1. 标签体系设计2. 标注格式统一3. 特殊情况处理 三、标注流程设计1. 任务分派与协作2. 分阶段标注流程 四、质量控制机制1. 审核与验收标准2. 标注员培训与考核 五、文档管理与迭代1. 规则文档化2. 持…