python使用protobuf
来源:互联网 发布:淘宝店促销活动方案 编辑:程序博客网 时间:2024/05/16 14:04
下面都是在windows上完成的:
1、安装protobuf:
1)使用pip安装:
pip install protobuf>=2.5.0
2)源码安装:
下载,然后python setup.py install
2、使用:
pb文件:
message RowProto { required uint32 null_map = 1; repeated string column = 2; } message TableProto { repeated string column = 1; repeated string row = 2; }
编译:
protoc --python_out=/data/home/ ./DataService.proto得到DataService_pb2.py
解析:
import sys import DataService_pb2 #create proto row = DataService_pb2.RowProto() row.null_map = 1 row.column.append("wang") row.column.append("female") row_str=row.SerializeToString() print row_str table = DataService_pb2.TableProto() table.column.append("name") table.column.append("gender") table.row.append(row_str) table_str = table.SerializeToString() #process proto table_proto = DataService_pb2.TableProto() table_proto.ParseFromString(table_str) print "column:" print table_proto.column row_str = table_proto.row[0] row_proto = DataService_pb2.RowProto() row_proto.ParseFromString(row_str.encode('utf8')) print "row1:" print row_proto.column
读文件:
import sys import DataService_pb2 f = open("table", 'rb',) table_proto = DataService_pb2.TableProto() table_proto.ParseFromString(f.read()) print table_proto.column #print table_proto.row for row in table_proto.row: row_proto = DataService_pb2.RowProto() row_proto.ParseFromString(row.encode('utf-8')) print row_proto.column f.close()
0 0
- python使用protobuf
- python下使用protobuf
- python使用protobuf
- python 如何使用 protobuf
- python中使用protobuf
- Protobuf在Python中的使用
- Protobuf在Python中的使用
- 69.Protobuf进阶——使用Python操作Protobuf
- windows环境使用python google protobuf
- 在protobuf中使用python的extension
- protobuf for python 安装与使用
- 在Python 3.4里使用Protobuf 2.6
- protobuf安装使用(python版)
- 使用python通过protobuf实现rpc
- 在python中使用grpc和protobuf
- 【python+protobuf】在python中使用protocol buffer
- protobuf使用
- protobuf 使用
- UILabel 设置字体大小不一
- 数学中的常见的距离公式
- 数据结构与算法-查找-斐波那契查找
- EasyUi DataGrid中数据编辑方式及编辑后数据获取,校验处理
- linux 开启网卡
- python使用protobuf
- 页式管理详细---重复
- ActiveMQ优化教程
- 基于文本密度的新闻正文抽取方法之Python实现
- 数据库缓存
- HDU-1690-Bus System
- SpringMVC深度探险(二) —— SpringMVC概览
- ubuntu 14.04 PCL 源码 编译 安装
- set