Python序列化proto中repeated修饰的数据
一、repeated修饰复合数据结构,即message时
1、使用message的add方法初始化新实例
2、分别对新实例中的每个元素赋值;或使用CopyFrom(a)拷贝a中的元素值
message TechnologyTreeNode{
optional int32 node_id = 1;
optional int32 level = 2;
}
message TechnologyTree {
repeated TechnologyTreeNode tree_node_list = 1;
}
tt = TechnologyTree()
ttn = tt.tree_node_list.add()
# 分别赋值
ttn.node_id = 2
ttn.level = 3
# CopyFrom
tn = TechnologyTreeNode()
tn.node_id = 2
tn.level = 3
ttn.CopyFrom(tn)
二、repeated修饰基础数据类型,如:int等
1、单个元素使用append()追加
2、list使用expend()
message A {
repeated int ids = 1;
}
a = A()
a.ids.append(1)
l = [1, 2, 3]
a.ids.extend(l)
三、删除repeated修饰的数据中元素
del a.ids[index]
or
a.ids.remove(item)
四、清空
del a.ids[:]
or
a.ids.clear()
Python序列化proto中repeated修饰的数据的更多相关文章
- Java中final修饰的数据
目录 Java中final修饰的数据 有初始值的final域 final+基本数据类型 final+引用数据类型 final与static final 空白final域 final修饰的参数 基本数据 ...
- python序列化proto时对repeated修饰数据进行赋值(常用类型和其他类型)
说一下对proto文件中数据使用时的书写方法,因为笔者也经常弄混淆 一.repeated修饰符,该列表是常用类型,比如int message C2GS_GoodsList { repeated int ...
- Python(Redis 中 Set/Zset 类型数据和其他操作)
1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...
- Python从MongoDB中按天读取数据并格式化日志
#$cat SpeechMongoHandle.py from pymongo import Connection import time import datetime # CTRL_A='\x01 ...
- python删除列表中得重复得数据
解决思想:将列表转换为 集合,利用集合删除重复数据得特性删除重复数据,然后将集合转换为列表 #删除列表中得重复元素 def delect_1 (lt): s = set(lt) lt = list(s ...
- python 去除Excel中的重复行数据
导入pandas import pandas as pd 1.读取excel中的数据: frame = pd.DataFrame(pd.read_csv('excel的绝对路径.csv'', 'She ...
- 详述Python序列化
一.前言 1. 现实需求 每种编程语言都有各自的数据类型,其中面向对象的编程语言还允许开发者自定义数据类型(如:自定义类),Python也是一样.很多时候我们会有这样的需求: 把内存中的各种数据类型的 ...
- 使用Python将Excel中的数据导入到MySQL
使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...
- Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...
随机推荐
- Linux关闭You have new mail in /var/spool/mail/root提示
终端远程登陆Linux后经常提示You have new mail in /var/spool/mail/root 这个提示是LINUX会定时查看LINUX各种状态做汇总,每经过一段时间会把汇总的信息 ...
- kali linux工具--信息批量收集工具theharvester
在渗透测试早期阶段,安全人员往往需要从互联网快速获取目标的一些信息,以确认测试目标的概况.为了满足这个需求,Kali Linux提供了theharvester工具.该工具可以搜索引擎.社交网站获取目标 ...
- OOP的魔术方法
1.构造函数:__construct(): 构造函数是类中的一个特殊函数,当我们使用new关键字实例化对象时,相当于调用了类的构造函数. function __construct($name){ $t ...
- windows下搭建Kafka,并通过命令窗口收发消息
参考网址: https://blog.csdn.net/ydc321/article/details/70154278 前提条件:windows环境需要安装jdk 1.下载Kafka,可以通过官网下载 ...
- Java8 Lambda表达式原理扫盲
背景 在使用Lamdba表达式,一直以为是内部类的方式实现的,但是一想如果每次调用都实例化一个内部类,性能肯定不好,难道Java里的lambda表达式真的是这么实现的吗?也许是该研究下原理了. 正文 ...
- 转:为什么要有Spring?
Java后端技术https://mp.weixin.qq.com/s?__biz=MzI1NDQ3MjQxNA==&mid=2247484822&idx=1&sn=6fbee2 ...
- 使用Mac下的sequel Pro链接数据库时提示错误(已解决)
使用Mac下的sequel Pro链接数据库时,出现如下问题: ? 1 MySQL said: Authentication plugin 'caching_sha2_password' cannot ...
- ASP.NET Core 项目配置 ( Startup )(转载)
原文:https://www.twle.cn/l/yufei/aspnetcore/dotnet-aspnet-startup.html 由于是个人网站,怕没了,特意复制保存,个人觉得讲的非常透彻 前 ...
- 023_System Integrity Protection in macos
背景:之前写的在/usr/bin下的一个登陆线上脚本,由于使用timemachine还原了系统,发现怎么也修改不了,加sudo也不行. 后来查询才得知系统默认开启了"系统集成保护" ...
- 【原创】大叔经验分享(49)hue访问hdfs报错/hue访问oozie editor页面卡住
hue中使用hue用户(hue admin)访问hdfs报错: Cannot access: /. Note: you are a Hue admin but not a HDFS superuser ...