0
入門與蟒蛇protobuf的我面臨着一個奇怪的問題:蟒蛇的protobuf無法反序列化消息
一個簡單的消息協議定義是:通過protoc -I . --python_out=generated message.proto
產生和Python中訪問像
syntax = "proto3";
package test;
message Message {
string message = 1;
string sender = 2;
}
:
from generated.message_pb2 import Message
然後,我可以構造消息
m = Message()
m.sender = 'foo'
m.message = 'bar'
print(str(m))
但反序列將不返回結果
s_m = m.SerializeToString()
print(s_m) # prints fine
a = m.ParseFromString(s_m)
a.foo #fails with error - no attributes deserialized