gpt4 book ai didi

python - 如何区分显式设置为空列表的 protobuf 重复字段与根本未设置的字段(在 python 中)?

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:30 25 4
gpt4 key购买 nike

我的 protobuf 中有一个重复的字段暴露给调用者。我想知道调用者是否明确将其设置为空列表,或者根本没有设置该字段。

HasField 方法不适用于重复字段,因此我尝试使用 ListFields 方法枚举所有设置的字段。不幸的是,无论我是否执行“message.repeated_field.extend([])”或根本不设置该字段,该字段都不会显示在 ListFields() 中。

是否可以区分重复字段被设置为空与不全部设置?如果是这样,任何指示都会有所帮助。

最佳答案

我所看到的一切都表明无法区分空的重复字段和未设置的重复字段。

我是这样解决的:

message NameList {
repeated string names = 1;
}

message SomeResponse {
optional NameList names = 1;
}

然后,当您想要发送空列表时,只需初始化 NameList 字段即可。

关于python - 如何区分显式设置为空列表的 protobuf 重复字段与根本未设置的字段(在 python 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32877736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com