Python 如何将_pb2.py文件加载到FileDescriptorSet

Python 如何将_pb2.py文件加载到FileDescriptorSet,python,protocol-buffers,Python,Protocol Buffers,如何将_pb2.py文件读取到FileDescriptorSet。在C#中,我可以这样做 var set = new FileDescriptorSet(); var r = File.OpenText($@"{args[0]}"); set.Add(defaultOutputName, true, r); et.Process(); 但是我如何用python实现它呢?我正在尝试这个代码,但它没有工作 _DESCR_FILE = os.path.abspath("../../../exam

如何将_pb2.py文件读取到FileDescriptorSet。在C#中,我可以这样做

var set = new FileDescriptorSet();

var r = File.OpenText($@"{args[0]}");
set.Add(defaultOutputName, true, r);

et.Process();
但是我如何用python实现它呢?我正在尝试这个代码,但它没有工作

_DESCR_FILE = os.path.abspath("../../../examples/cluster_grain_hello_world/messages/protos_pb2.py")

    with open(_DESCR_FILE, 'rb') as f:
        file_descriptor_str = f.read()

        file_descriptor = descriptor_pb2.FileDescriptorSet()
        file_descriptor.ParseFromString(file_descriptor_str)

这取决于你想要完成什么。是否尝试轮询文件描述符集以获取新数据?或者您正在尝试将文件添加到一组实体中,以便函数进行处理?(提示:并非所有人都会多种语言并理解C。)我想获取在_pb2.p中定义的消息和服务的名称。与对象(和模块)关联的所有属性和函数名都在
\u dict\uu
属性中。您需要导入protos_pb2模块,即,
import protos_pb2
,然后您可以查询模块对象的字典,
protos_pb2.\uuu dict_u