python google buffer_python调用Google Protocol Buffer
写proto文件
package lm;
message Person
{
required int32 id = 1;
required string str = 2;
optional int32 opt = 3;
}
保存为 testp.testpb.proto
编译指令
protoc -I=/home/workspace/testprob --python_out=/home/workspace/testprob /home/workspace/testprob/testp.testpb.proto
https://developers.google.com/protocol-buffers/docs/pythontutorial
报错
package directory 'google/protobuf/compiler' does not exist
解决
https://groups.google.com/forum/?fromgroups=#!topic/protobuf/YeT5RW4qCxY
python ./setup.py build
sudo python ./setup.py install
报错
File "/home/workspace/testprob/testp/testpb_pb2.py", line 6, in
from google.protobuf import reflection as _reflection
File "build/bdist.linux-i686/egg/google/protobuf/reflection.py", line 68, in
File "build/bdist.linux-i686/egg/google/protobuf/internal/python_message.py"
ImportError: cannot import name enum_type_wrapper
解决
http://code.google.com/p/protobuf/issues/detail?id=438
Log message
Fix issue 438 : add missing 'enum_type_wrapper' to setup.py
是安装包的一个改进文件,copy下来, 重新安装
根据安装目录下的demo 自己改写了个简单的, 觉得它那个还是麻烦
write.py
import testpb_pb4
import sys
p = testpb_pb2.Person()
try:
f = open(sys.argv[1], "rb")
p.ParseFromString(f.read())
f.close()
except IOError:
print sys.argv[1] + ": File not found. Creating a new file."
p.id = 32
p.str = "test"
f = open(sys.argv[1], "wb")
f.write(p.SerializeToString())
f.close()
print "write success"
编译指令 python write.py "test"
read.py
import sys
import testpb_pb2
if len(sys.argv) != 2:
print "Usage:", sys.argv[0], "ADDRESS_BOOK_FILE"
sys.exit(-1)
p = testpb_pb2.Person()
f = open(sys.argv[1], "rb")
p.ParseFromString(f.read())
f.close()
print "p.str = ", p.str
print "p.id=", p.id
编译指令 python read.py "test"
python google buffer_python调用Google Protocol Buffer相关推荐
- Google Protocol Buffer 的使用和原理
FROM : https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/ Google Protocol Buffer 的使用和原理 Protocol ...
- 快来看看Google出品的Protocol Buffer,别仅仅会用Json和XML了
前言 习惯用 Json.XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 事实上 是 Google出品的一种轻量 & 高效的结构化数据 ...
- Google Protocol Buffer 的使用和原理(c++)
简介 什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍: Google Protocol Buffer( 简称 Protobuf) 是 Googl ...
- 【C++】Google Protocol Buffer(protobuf)详解(一)
1.简介 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准, Protocol Buffers 是一种轻便高效的结构化数据存储格式 ...
- c++ java通信 protocol buffer,google protocol buffer (C++,Java序列化应用实例)
google protocol buffer (C++,Java序列化使用实例) 转载,请注明出处: http://blog.csdn.net/eclipser1987/article/details ...
- 只用2000行代码实现google protocol buffer c++版的功能
2019独角兽企业重金招聘Python工程师标准>>> google protocol buffer (下面简称gpb)功能强大,应用广泛,但在实际应用中,gpb需要写.proto脚 ...
- Google Protocol Buffer学习笔记(一)
概述: 新公司用的平台和相关技术都与原公司使用的不同,原来是linux+thrift而现在换成了windows+protobuf了. 参考资料: https://developers.google.c ...
- 前端后台以及游戏中使用Google Protocol Buffer详解
前端后台以及游戏中使用Google Protocol Buffer详解 前端后台以及游戏中使用Google Protocol Buffer详解 0.什么是protoBuf 1.下载protobuf的编 ...
- windows下Google Protocol Buffer 编译安装(vs)教程
蒲公英的博客 分享技术带来的快乐 Kuaile.IN 搜索 首页 安卓相关 WordPress 主机相关 Linux相关 网络技术 电脑技术 编程技术 免费资源 当前位置: 首页 > 编程技术 ...
最新文章
- 两个坐标系进行了缩放平移后的变换关系
- git-flow 流程 备忘清单
- Flex学习笔记(2)——使用ActionScript脚本
- 键值数据库LevelDB的优缺点及性能分析
- 遍历二叉树的非递归算法
- ASP.Net学习笔记002--ASP.Net服务端控件做了什么2
- 如何开始第一个开源项目?
- HTML网站去色代码
- python万年历代码带解释_Python 万年历代码简单示例
- android 生成bks_在Android上实现SSL通信(二)
- J2ME、J2SE、J2EE 小讲
- Java SE 007 流程控制语句 续
- 数据分析的思维逻辑步骤
- Ubuntu16.04 安装 indicator-sysmonitor
- FreeRTOS -- 简介
- 【2022年】Win11修改锁屏界面、登录界面背景图片方法(亲测有效)
- Anniversary party(最基础的树形dp)
- Nginx proxy_pass详解
- 东南大学银行账号信息
- F.巴啦啦能量 【尺取法】
热门文章
- 精选22个Pandas函数!
- 2021-10-28 SAP Spartacus SSR 性能方面的一些学习笔记
- Angular 原理图 Schematics 学习 - 动手开发一个实际的例子
- Angular 项目 tsconfig.json 里定义的 out-tsc 还有作用吗?
- 如何查看 ToggleStatusComponent 是否是 SAP Spartacus public API 一部分
- SAP Spartacus的用户登录请求
- SAP Fiori Elements里的SAP自定义注解annotation sap-text
- SAP CRM WebClient UI element id的生成逻辑
- Fiori UI上创建的note和web client UI上note的对应关系
- SAP UI5 Manifest fill logic