[python]用python根据模板批量生成代码

在这里插入图片描述

目录

  • 关键词
  • 平台说明
  • 背景
  • 一、实现过程
    • 1.1模板
    • 1.2.代码实现

关键词

==python、excel、DBC、openpyxl ==

平台说明

项目 Value
python版本 3.6

背景

在SWC和I_Pdu交互的过程中可能会根据需求手动解析大量的报文,耗时耗力,可以考虑用python批量处理

一、实现过程

1.1模板

  A_val = Rte_IRead_Runnable_A();
  B_data =  *Rte_IRead_Runnable_B();
  if(0x2U == A_val)
  {
    B_data = A_val;
  }else{
    B_data = const_A;
  }

1.2.代码实现

template = """
{B_data_type} {B_data_name} = *{Rte_IRead_B_func}();
{A_val_type} {A_val_name} = {Rte_IRead_A_func}();
if (0x2U == {A_val_name})
{{
    {B_data_name} = {A_val_name};
}}
else
{{
    {B_data_name} = {const_A};
}}
"""

variables = [
    {"B_data_type": "int", "B_data_name": "B_data1", "Rte_IRead_B_func": "Rte_IRead_Runnable_B1", "A_val_type": "int", "A_val_name": "A_val1", "Rte_IRead_A_func": "Rte_IRead_Runnable_A1", "const_A": "const_A1"},
    {"B_data_type": "float", "B_data_name": "B_data2", "Rte_IRead_B_func": "Rte_IRead_Runnable_B2", "A_val_type": "float", "A_val_name": "A_val2", "Rte_IRead_A_func": "Rte_IRead_Runnable_A2", "const_A": "const_A2"},
    # Add more variable definitions as needed
]

for var_data in variables:
    generated_code = template.format(**var_data)
    print(generated_code)

其中 variables可以根据需求和输入文档用另外的python脚本生成。

你可能感兴趣的:(CP_Autosar,CICT,python,python,Autosar)