如何从python中重复的protobuf字段中删除项目?

Der*_*ott 10 python protocol-buffers

我有一个包含重复字段的protobuf消息.我想删除列表中的一个项目,但我似乎无法找到一个好方法,不将重复字段中的所有项目复制到列表中,清除重复字段,然后重新填充它.

在C++中有一个RemoveLast()函数,但这似乎没有出现在python API中...

nne*_*neo 13

文档中所述,Protobuf中包含重复字段的对象的行为类似于常规Python序列.因此,你应该能够做到

del foo.fields[index]
Run Code Online (Sandbox Code Playgroud)

例如,要删除最后一个元素,

del foo.fields[-1]
Run Code Online (Sandbox Code Playgroud)

  • 如果要删除所有重复的字段,请使用`del foo.fields [:]` (5认同)