python 如何使用 protobuf

一、protobuf是什么

protocol buffer(简称protobuf)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。


二、windows7下载安装protobuf

由于下的Python是3.6.2版本,所以protobuf要下3.0版本的,不然后面运行那个setup.py 有问题,不能安装。

下载地址:http://blog.csdn.net/warrially/article/details/52683611

potoc-3.0.0-win32.zip 包含了一个文件 protoc.exe,编译工具;

protobuf-python-3.0.0.zip 包含了protobuf与语言(python)之间的protobuf运行时库,这个在转换的时候需要用到,相当与protobuf与各语言之间的协定格式。解压放在c盘的根目录下

protoc.exe 放在C:\protobuf-python-3.0.0\protobuf-3.0.0\src和C:\Windows\System32(期间各种问题,这样放就没问题了)

cmd切换到C:\protobuf-python-3.0.0\protobuf-3.0.0\Python目录下,依次执行下列命令

python setup.py build

    python setup.py test

    python setup.py install
安装成功

三、接着就是编写和转换proto文件:people.proto

syntax = "proto3";  //proto3必须在文件首页加这一句

package tutorial;     //包名
    message people
   {
string name= 1;
int32 height = 2;
   }


 利用protoc.exe编译proto文件,cmd切换到当前目录,执行以下命令:

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

 -I=源文件目录,--python_out=编译生成的文件的路径 ,people.proto是要编译的协议文件

 编译好之后你就会在目标目录里面看到输出的结果文件,如下:people_pb2.py


然后我们就可以使用生成的python文件了,

1 首先新建一个程序文档,代码如下:pbFirstPeople.py

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

注意:python3 的print需要括号,2不需要

   2 然后运行这个文件:python pbFirstPeople.py

输出如下结果:name: "cheryl"
                           height: 160



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值