Python序列化proto中repeated修飾的數據


一、repeated修飾復合數據結構,即message時

 1、使用message的add方法初始化新實例

 2、分別對新實例中的每個元素賦值;或使用CopyFrom(a)拷貝a中的元素值

 1 message TechnologyTreeNode{
 2     optional int32 node_id = 1;
 3     optional int32 level   = 2;
 4 }
 5 
 6 message TechnologyTree {
 7     repeated TechnologyTreeNode tree_node_list = 1;
 8 }
 9 
10 tt = TechnologyTree()
11 ttn = tt.tree_node_list.add()
12 
13 # 分別賦值
14 ttn.node_id = 2
15 ttn.level = 3
16 
17 # CopyFrom
18 tn = TechnologyTreeNode()
19 tn.node_id = 2
20 tn.level = 3
21 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()

 

 




 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM