Python脚本在xxx_ph2.py(protobuf的python方法)中寻找所有的message的方法
1 背景:
- 在我通过arxml文件生成了proto文件之后,我需要将proto中所有的变量进行赋值,这个时候就需要拿到所有的message和message的层级关系,例如: data_type.proto生成的data_type_ph2.py中寻找所有的message,
- Python版本:3.11
- protobuf版本:4.23.4
2 逻辑概要
- 使用了importlib.util模块来动态导入data_type_v001_ph2模块;
- 创建一个FileDescriptor对象,模拟了data_type.proto的描述符,并将data_type_ph2.py中的所有message类型添加到描述符中;
- 遍历每个message类型,并打印出完整的名称。
3 代码实现
import importl