当前位置: 首页 > news >正文

Python脚本开发-统计Rte中未连接的Port

文章目录

    • 前言
    • Autosar规范
    • Python脚本开发
    • 实现效果
    • 总结

前言

项目开发过程中,经常会遇到应用层中Rte接口未连接导致的信号传递异常,本文介绍利用Python脚本对未连接的Rte port进行提取并导出到excel中

Autosar规范

此处我们主要针对于Rport,且是Explicit类型的,RTE规范中定义如下:
在这里插入图片描述
对于未连接的Read Port,接口会返回RTE_E_UNCONNECTED,后面我们通过该特征来对此类接口进行提取

Python脚本开发

思路:

1.利用正则表达式提取文件中含RTE_E_UNCONNECTED的字符,并匹配对应的Rte接口名

def find_rte_unconnected_in_file(file_path):"""在单个文件中查找RTE_E_UNCONNECTED接口"""interfaces = []try:with open(file_path, 'r', encoding='utf-8') as f:content = f.read()# 查找RTE_E_UNCONNECTED相关的定义pattern = r'#define\s+(\w+).*RTE_E_UNCONNECTED'matches = re.findall(pattern, content)interfaces.extend(matches)except Exception as e:print(f"处理文件 {file_path} 时出错: {e}")return interfaces

2.遍历对应Rte文件夹下的.h文件

def scan_directory_for_rte_unconnected(directory_path, file_extensions=None):"""扫描目录中所有文件,查找RTE_E_UNCONNECTED接口"""if file_extensions is None:file_extensions = ['.h']unconnected_interfaces = {}# 遍历目录中的所有文件for root, dirs, files in os.walk(directory_path):for file in files:if any(file.endswith(ext) for ext in file_extensions):file_path = os.path.join(root, file)interfaces = find_rte_unconnected_in_file(file_path)if interfaces:unconnected_interfaces[file_path] = interfacesreturn unconnected_interfaces

3.将匹配的结果导出到csv中

def export_to_csv(results, output_file="unconnected_interfaces.csv"):"""将未连接的接口导出到CSV文件,按不同文件分类"""with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:fieldnames = ['File', 'Interface']writer = csv.DictWriter(csvfile, fieldnames=fieldnames)writer.writeheader()# 按文件分组写入for file_path, interfaces in results.items():for interface in interfaces:writer.writerow({'File': file_path,'Interface': interface})print(f"结果已导出到 {output_file}")

使用示例:

# 使用示例
if __name__ == "__main__":directory_path = "./BasicSoftware/src/rte/gen"results = scan_directory_for_rte_unconnected(directory_path)# 打印结果到控制台print("未连接的接口:")for file_path, interfaces in results.items():print(f"\n文件: {file_path}")for interface in interfaces:print(f"  - {interface}")# 导出到CSV文件if results:export_to_csv(results)else:print("未找到未连接的接口")

实现效果

导出到csv中的文件路径及Port:
在这里插入图片描述

总结

对于未连接的port,需要充分评估,避免因port未连而导致的信号传递不正常,导致实际功能失效

提示:完整脚本可以通过《汽车电子学习笔记》-回复《 PY RTE》获取~

http://www.lryc.cn/news/622982.html

相关文章:

  • Python---异常链(Exception Chaining)
  • 完整设计 之 定稿 之:后现代元宇宙九宫格(重命名)-腾讯元宝答问
  • 线性代数之两个宇宙文明关于距离的对话
  • 分享一个大数据的源码实现 基于Hadoop的二手车市场数据分析与可视化 基于Spark的懂车帝二手车交易数据可视化分析系统
  • Transformer浅说
  • MySQL完整重置密码流程(针对 macOS)
  • 如何使用嵌入模型创建本地知识库Demo
  • MongoDB 聚合提速 3 招:$lookup 管道、部分索引、时间序列集合(含可复现实验与 explain 统计)
  • Tomcat类加载器原理简单介绍
  • AI热点周报(8.10~8.16):AI界“冰火两重天“,GPT-5陷入热议,DeepSeek R2模型训练受阻?
  • 服务器可以ping通,但部署的网站打不开
  • uniapp:微信小程序使用Canvas 和Canvas 2D绘制图形
  • nginx下载地址:aarch64
  • Scala面试题及详细答案100道(11-20)-- 函数式编程基础
  • 狗品种识别数据集:1k+图像,6个类别,yolo标注完整
  • linux docker neo4j 导出 (windows 导入)
  • duiLib 实现鼠标拖动状态栏时,窗口跟着拖动
  • 模型量化(Model Quantization)
  • 解决 Windows 下运行 MCP 脚本弹出 WSH 错误窗口的问题 | Windows Script Host
  • 【数据分析】比较SparCC、Pearson和Spearman相关性估计方法在合成组学数据上的表现
  • Footej Camera 2:专业级摄影体验,尽在掌中
  • 《代码重生:杨蓉与62.webp》
  • 2024-2025华为ICT大赛中国区 实践赛昇腾AI赛道(高职组)全国总决赛 理论部分真题+解析
  • 基本电子元件:金属氧化膜电阻器
  • 测试工程师的AI转型指南:从工具使用到测试策略重构
  • Vue组件基础解析
  • 机器学习--决策树
  • [Linux] RAID存储技术
  • 苍穹外卖日记
  • C:\Windows\WinSxS 目录详解