Python脚本在xxx_ph2.py中寻找所有的message的方法

Python脚本在xxx_ph2.py(protobuf的python方法)中寻找所有的message的方法

1 背景:

  1. 在我通过arxml文件生成了proto文件之后,我需要将proto中所有的变量进行赋值,这个时候就需要拿到所有的message和message的层级关系,例如: data_type.proto生成的data_type_ph2.py中寻找所有的message,
  2. Python版本:3.11
  3. protobuf版本:4.23.4

2 逻辑概要

  • 使用了importlib.util模块来动态导入data_type_v001_ph2模块;
  • 创建一个FileDescriptor对象,模拟了data_type.proto的描述符,并将data_type_ph2.py中的所有message类型添加到描述符中;
  • 遍历每个message类型,并打印出完整的名称。

3 代码实现

import importlib.util
from google.protobuf.descriptor 

你可能感兴趣的:(汽车软件开发的辅助脚本开发,python)