【python】如何在python中使用protocol buffer

关于protocol buffer的优点,这里就不多贴废话了,如果涉及到数据传输和解析,使用pb会比自己去写解析代码更有效率,至少对于大部分而言是这样的。。


一、下载&安装

要使用之前先到code.google.com上搜索protocol buffer,下载到本地,解压后依次执行:

./configure

make

make check

make install

最后一步涉及到权限,可能会需要sudo。


二、定义一个proto文件

下面依然是给出一个简单的例子,要使用proto首先需要自己定义一个proto文件,定义一个people.proto文件,内容如下:

message people
{
    optional string name = 1;
    optional int32 height = 2;
}


三、生成一个python可用的py文件

然后就是生成对应的py文件,命令如下:

protoc -I=./ --python_out=./ people.proto

其中-I是source的路径,--python_out表示对应python库的生成路径,然后是对应的proto文件。当然,pb还支持c++和java,修改--python_out即可。

完成后就有对应的people_pb2.py文件了。导入后即可使用,第一次安装后直接用应该会提示:ImportError: No module named google.protobuf,这是因为找不到对应的库路径导致,到你下载的pb路径下,找到python路径,执行

python setup build

python setup test

如果提示

----------------------------------------------------------------------
Ran 193 tests in 0.327s


那么执行:python setup.py install

完成后应该就可以了。(以上操作需要使用root权限)



OK

那么就是安装成功了,此时再导入对应的pb2.py文件即可使用。


四、导入使用的简单例子

给出一个简单的调试例子:

import people_pb2

pbFirstPeople = people_pb2.people()
pbFirstPeople.name = "joey"
pbFirstPeople.height = 160
print pbFirstPeople

输出结果为:

name: "joey"
height: 160


至此就完成了一个简单的pb下载安装以及应用的过程,关于pb的详细使用,可以在code.google.com上进行查询。


更新:

如何在win7下配置:

1.下载对应的包,下载链接:https://code.google.com/p/protobuf/downloads/list

2.protoc-2.5.0-win32.zip下载解压后,可以把对应的protoc.exe直接放到c:\Python27目录下(你应该已经在环境变量里把相关的路径给添加了,这样就可以直接使用protoc了)

3.protobuf-2.5.0.zip下载解压后,通过cmd进入到对应目录下的python目录中,执行

python setup.py build

在对应的目录中会生成build\lib\google将对应的google目录拷贝到c:\Python27\Lib目录下即可使用了。

  • 1
    点赞
  • 4
    评论
  • 3
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

paynetiger

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值