1. 程式人生 > >python google protobuf 使用

python google protobuf 使用

2011-12-28

google protobuf由於採用二進位制打包,資料量很小,又支援主流的java,c,python語言,所以尤其適合於mobile客戶端與伺服器的通訊。相對於xml,html,json等格式,有其獨特優勢。

解壓后里面有個python目錄。linux可以直接編譯原始碼,對windows,可以將protoc.exe拷貝到python目錄下,然後在cmd下,切換到該目錄,執行python setup.py install

然後就可以用命令將proto檔案編譯成py:

protoc.exe –python_out=d:/test/ *.proto

示例:

完成測試test.proto

message TestMsg
{
    required int32 id=1;
    required int32 time=2;
    optional string note=3;
}

protoc.exe –python_out=d:/test/ test.proto

#-*- coding:utf-8 -*-
import google.protobuf
import TestMsg_pb2
import time

#壓縮
test = TestMsg_pb2()
test.id=1
test.time=int(time.time())
test.string="asdftest"
print test
test_str = test.SerializeToString()
print test_str
#解壓
test1 = TestMsg_pb2()
test1.ParseFromString(test_str)
print test1

如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源