1 个不稳定版本

0.1.0 2024年7月12日

#966解析器实现

每月32次下载

GPL-3.0-only

17KB
50

SHR 解析器 Python 绑定

本项目为基于 Rust 的 shr_parser 库提供 Python 绑定,该库旨在解析和处理 SHR 文件。SHR 文件格式包括文件头和多个扫描,每个扫描都有自己的头和数据。此库使用内存映射进行高效的文件读取,并使用 Rayon 进行扫描的并行处理。

特性

  • 解析 SHR 文件:读取并解释 SHR 文件,包括头部和扫描。
  • 验证文件:通过验证签名和版本确保 SHR 文件的完整性。
  • 扫描指标计算:从扫描数据计算关键指标,如峰值、平均值和低值。
  • CSV 导出:将解析的 SHR 数据导出到 CSV 格式,便于分析和报告。

安装

要安装 Python 绑定,您需要构建 Rust 库,并使用 maturin 将其作为 Python 模块安装。请确保您系统上已安装 Rust 和 Python。

  1. 安装 maturin

    pip install maturin
    
  2. 构建并安装模块

    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