chronaxis.results.blf_writer
独占持有一份BLF输出文件,委托既有python-can格式写入,不重写BLF编码。
写入器与底层文件属于同一owner;文件头构造、压缩或最终头更新失败时关闭实际句柄。 第三方stop至多调用一次,关闭重试仅处理尚未关闭的文件,不重复压缩或重写完成头。
这是模块参考。日常调用先查公开API索引;下划线对象和嵌套函数供维护者查阅。签名来自固定源码,公开类构造签名经实际Python接口核对。
相关类型
对象导航
| 对象 | 用途 |
|---|---|
BLFWrite |
管理一个新的BLF文件及其python-can writer,不接收来源路径或DBC。 |
BLFWrite.__init__ |
独占创建文件并安装writer。 |
BLFWrite.closed |
查询实际关闭状态。 |
BLFWrite.write |
写入当前原帧一次。 |
BLFWrite.finish |
完成压缩与最终文件头。 |
BLFWrite.close |
关闭同一实际文件,第三方stop最多一次。 |
导入与重导出来源(展开)
from pathlib import Path
from .budget import _cleanup_ownerBLFWrite
管理一个新的BLF文件及其python-can writer,不接收来源路径或DBC。
BLFWrite(path)源码:src/chronaxis/results/blf_writer.py:10(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。
BLFWrite.__init__
独占创建文件并安装writer。
BLFWrite.__init__(path)参数
| 名称 | 数据类型 | 必填 | 省略时的值 | 用途、取值和效果 |
|---|---|---|---|---|
path |
str | Path | 是 | 无 | 位置或关键字。本次独占新建的BLF输出文件路径;已有文件不能覆盖。 |
返回说明
owner。
异常说明
原创建/文件头错误。
传入文件对象由python-can的stop关闭;本对象只在第三方未完成关闭时收尾同一句柄。 构造失败仍保留blf_write_cleanup_owner,不借重新打开文件修补失败。
源码:src/chronaxis/results/blf_writer.py:13(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。
BLFWrite.closed
查询实际关闭状态。
BLFWrite.closed装饰器:property。
读取属性,不使用调用括号。
参数说明
无。
返回说明
bool,不表示失败文件可发布。
异常说明
无。
源码:src/chronaxis/results/blf_writer.py:33(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。
BLFWrite.write
写入当前原帧一次。
BLFWrite.write(message)参数
| 名称 | 数据类型 | 必填 | 省略时的值 | 用途、取值和效果 |
|---|---|---|---|---|
message |
can.Message | 是 | 无 | 位置或关键字。要写入的本条原帧;交给现有python-can writer一次,不在失败后重试写入。 |
返回说明
None。
异常说明
原写入错误或已结束时RuntimeError。 不重试写入,避免重复添加帧。
源码:src/chronaxis/results/blf_writer.py:40(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。
BLFWrite.finish
完成压缩与最终文件头。
BLFWrite.finish()参数:无显式参数。
参数说明
无。
返回说明
None,仅真实stop成功可正常返回。
异常说明
原收尾错误;已经失败的最终写入不能重试,返回RuntimeError。
源码:src/chronaxis/results/blf_writer.py:49(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。
BLFWrite.close
关闭同一实际文件,第三方stop最多一次。
BLFWrite.close()参数:无显式参数。
参数说明
无。
返回说明
None,重复关闭安全。
异常说明
保留原收尾错误;实际文件仍未关闭时附可重试owner,其他错误加入notes。
源码:src/chronaxis/results/blf_writer.py:60(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。