如何找到 python google-protobuff 文件里面所有的 message。
问 题 如何找到 python google-protobuff 文件里面所有的 message? 要做什么样的映射,可以获取,或者有 api 支持? 解决方案 http://stackoverflow.com/questions/38494286/how-to-find-all-the-messages-in-a-python-protobuff 有人回答了: >>> import protobufmodule >>> from google.protobuf.message import Message >>> messageClasses = [v for v in vars(protobufmodule).values() if isinstance(v, type) and issubclass(v, Message)]
434 2022-07-19
编程技术问答社区
用python解析protobuf数据,却遇到了tag had invalid wire type错误?
问 题 现在要用python去解析server端发过来的protobuf包,安装好protobuf之后,proto文件我也写好了,和server端是应该是一样的,因为是从team的gitlab上拿下来的。然后建立socket,拿数据,recv之后我直接w+到一个文件里。然后rb这个文件,用protobuf自带的函数,ParseFromString()去解析,就报tag had invalid wire type错误,一头雾水,查了一整天,网上也没有很好的解决办法,就是解析不出来,总是报这个错。。。 会不会是二进制文件大小端存储的问题?猜测,实在想不出什么原因,另外一个同事用java去解析,就解析出来了..... 解决方案 你试着不存文件,直接ParseFromString看看能不能解析成功。会不会是传输的过程中二进制数据发生了变化,但是java解析成功了,比较奇怪。可让server也写入文件,然后和你的写入的文件比较一下大小。看看是不是一样。 此异常google了一
1332 2022-07-19
编程技术问答社区