1 个不稳定版本
0.1.0 | 2024年7月12日 |
---|
#966 在 解析器实现
每月32次下载
17KB
50 行
SHR 解析器 Python 绑定
本项目为基于 Rust 的 shr_parser
库提供 Python 绑定,该库旨在解析和处理 SHR 文件。SHR 文件格式包括文件头和多个扫描,每个扫描都有自己的头和数据。此库使用内存映射进行高效的文件读取,并使用 Rayon 进行扫描的并行处理。
特性
- 解析 SHR 文件:读取并解释 SHR 文件,包括头部和扫描。
- 验证文件:通过验证签名和版本确保 SHR 文件的完整性。
- 扫描指标计算:从扫描数据计算关键指标,如峰值、平均值和低值。
- CSV 导出:将解析的 SHR 数据导出到 CSV 格式,便于分析和报告。
安装
要安装 Python 绑定,您需要构建 Rust 库,并使用 maturin
将其作为 Python 模块安装。请确保您系统上已安装 Rust 和 Python。
-
安装
maturin
pip install maturin
-
构建并安装模块
maturin develop
用法
以下是如何从 Python 使用 SHR 文件解析器的示例
import shr_parser
# Define the file path and parsing type
file_path = "path/to/your/shrfile.shr"
parsing_type = 0 # SHRParsingType::Peak
# Create a SHRParser instance and use its methods
parser = shr_parser.SHRParser(file_path, parsing_type)
print(parser.get_file_path())
print(parser.get_file_header())
for sweep in parser.get_sweeps():
print(sweep)
parser.to_csv("output.csv")
模块结构
SHRParser
类
表示 SHR 文件解析器的类。
方法
__init__(self,file_path: str,parsing_type:int) ->SHRParser
to_str(self) -> str
to_csv(self,path: str) ->None
get_file_path(self) -> str
get_file_header(self) -> str
get_sweeps(self) ->列表[元组[int,int,浮点数,浮点数]]
示例
以下是 SHRParser 类的使用示例
import shr_parser
# Define the file path and parsing type
file_path = "path/to/your/shrfile.shr"
parsing_type = 0 # SHRParsingType::Peak
# Create a parser instance
parser = shr_parser.SHRParser(file_path, parsing_type)
# Get file path
print(parser.get_file_path())
# Get file header
print(parser.get_file_header())
# Get sweeps
for sweep in parser.get_sweeps():
print(sweep)
# Export to CSV
parser.to_csv("output.csv")
文档
有关 shr_parser
库的详细文档,请参阅 Rust 文档。要本地生成文档,请运行
cargo doc --open
贡献
欢迎贡献!如果您遇到任何问题或对改进有建议,请打开一个问题或提交一个拉取请求。
许可
本项目采用 GPLv3 许可证。有关详细信息,请参阅 LICENSE
文件。
依赖项
~6.5MB
~124K SLoC