python - 如何使用 python-can 修复损坏的 .blf 文件(来自 Vector 软件)

标签 python type-conversion can-bus

这类似于 this question ,但我想最终得到一个新的 BLF 文件而不是 .csv 文件。我这样做是为了删除 BLF 文件中损坏的对象,该对象阻止我将其导入 Vector 的软件。我想有一种方法可以直接将 BLFReader 生成的“can.io.blf.BLFReader”类对象直接传递给 BLFWriter,但我无法弄清楚如何实现。下面的示例代码应该有助于解释我想要实现的功能:

import can


filename_in = "corrupted.blf"
log = can.io.BLFReader(filename_in)
filename_out = "cleaned.blf"
can.io.BLFWriter(filename_out,log)

最佳答案

这是我的解决方案:

def BLFRepair(filename_in, filename_out):
""" Repairs a corrupted Vector .blf fileself.
Args:
    filename_in (str): Filename of input corrupted file.
    filename_out (str): Filename to save repaired file with.
"""
cleaned_log=BLFReader(filename_in)   # ignores errors
logger=BLFWriter(filename_out)
for msg in cleaned_log:
    logger.on_message_received(msg)

logger.stop()

关于python - 如何使用 python-can 修复损坏的 .blf 文件(来自 Vector 软件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53109803/

相关文章:

sql - View 包含不精确或不确定的转换?

Modelica 和 CANBus(通用、CANO​​pen 和/或 J1939)

python - 在给定的翻转次数中找到特定数量的正面和反面的所有组合

go - 这是在 golang 中类型转换的吗?

angularjs - Angular : How to change the data type using $formatters and $parsers?

can-bus - 如何编写简单的 CANopen 层程序

python - 优化 pandas 数据帧应用于解码 CAN 帧 - 迭代行

Python- Selenium : Submit form without opening new tab or new window

python - 添加列表中的元素值

python - Django:模板中的自定义标签和标签评估