Protobuf 不序列化默认值

2023-11-23

我正在为 python 使用 Protobuf。

我一直在尝试使用默认值,但每次运行 SerializeToString() 时我什么也得不到。

例如,

这是我的 .proto 文件对象

message Test{

    optional string lol = 1 [default="HI"];
    optional int32 num = 2 [default=200];
}

I run

test = packets_pb2.Test()
print(test.num)
print(test.SerializeToString())

并得到 200 用于打印(test.num) 但 SerializeToString() 没有结果(空)

我希望我的默认值被序列化。

知道如何完成这件事吗?

提前致谢。


对于任何使用 Protobuf 3 的人来说,有一种方法可以使用以下方法序列化默认值:including_default_value_fields的论证MessageToDict or MessageToJson:

from google.protobuf.json_format import MessageToJson

serialized_message_with_defaults = MessageToJson(
    protobuf_instance,
    including_default_value_fields=True,  # this does it
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Protobuf 不序列化默认值 的相关文章

  • 将tensorflow 2.0 BatchDataset转换为numpy数组

    我有这个代码 train images test images tf keras datasets mnist load data train dataset tf data Dataset from tensor slices train
  • 在 Python 中使用 Selenium 处理“接受 Cookie”弹出窗口

    我一直在尝试用硒抓取这个房地产网站的一些信息 但是 当我访问该网站时 我需要接受 cookie 才能继续 这仅在机器人访问网站时发生 而不是在我手动执行时发生 当我尝试通过 xpath 或 id 查找相应的元素时 正如我在手动检查页面时找到
  • 一次将Python dict的内容分配给多个变量?

    我想做这样的事情 def f return a 1 b 2 c 3 a b f or a b f IE 这样 a 被分配为 1 b 被分配为 2 并且 c 是未定义的 这与此类似 def f return 1 2 a b f 依赖于变量名称
  • Python 3 __getattribute__ 与点访问行为

    我读了一些关于 python 的对象属性查找的内容 这里 https blog ionelmc ro 2015 02 09 understanding python metaclasses object attribute lookup h
  • 如何使用Python将WebP图像转换为Gif?

    我已经尝试过这个 from PIL import Image im Image open this webp im save that gif gif save all True 这给了我这个错误 类型错误 不支持的操作数类型 tuple
  • python 中分割字符串以获得一个值?

    需要帮助 假设我在名为 input 的变量中有一个字符串 Sam Person name kind input split 通过执行上述操作 我得到两个具有不同字符串 Sam 和 Person 的变量 有没有办法只获取第一个值 name S
  • Paramiko - 使用私钥连接 - 不是有效的 OPENSSH 私钥/公钥文件

    我正在尝试找到解决方案 但无法理解我做错了什么 在我的 Linux 服务器上 我运行了以下命令 ssh keygen t rsa 这产生了一个id rsa and id rsa pub file 然后我将它们复制到本地并尝试运行以下代码 s
  • Pandas重置索引未生效[重复]

    这个问题在这里已经有答案了 我不确定我在哪里误入歧途 但我似乎无法重置数据帧上的索引 当我跑步时test head 我得到以下输出 正如您所看到的 数据帧是一个切片 因此索引超出范围 我想做的是重置该数据帧的索引 所以我跑test rese
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • matplotlib matshow 标签

    我一个月前开始使用 matplotlib 所以我仍在学习 我正在尝试用 matshow 制作热图 我的代码如下 data numpy array a reshape 4 4 cax ax matshow data interpolation
  • spacy 如何使用词嵌入进行命名实体识别 (NER)?

    我正在尝试使用以下方法训练 NER 模型spaCy识别位置 人 名和组织 我试图理解如何spaCy识别文本中的实体 但我无法找到答案 从这个问题 https github com explosion spaCy issues 491在 Gi
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • 获取列表中倒数第二个元素[重复]

    这个问题在这里已经有答案了 我可以通过以下方式获取列表的倒数第二个元素 gt gt gt lst a b c d e f gt gt gt print lst len lst 2 e 有没有比使用更好的方法print lst len lst
  • 将一个列表的元素除以另一个列表的元素

    我有两个清单 比如说 a 10 20 30 40 50 60 b 30 70 110 正如你所看到的 列表 b 由一个列表的元素总和组成 其中 window 2 b 0 a 0 a 1 10 20 30 etc 如何获得另一个列表 该列表由
  • 张量流:注册 numpy bfloat16 扩展

    正如我所见 tensorflow 中有 bfloat16 的 numpy 扩展 https github com tensorflow tensorflow blob 24ffe9f729160a095a5cab8f592392018280
  • Python组合目录中的所有csv文件并按日期时间排序

    我有 2 年的每日数据分成每月文件 我想将所有这些数据合并到一个按日期和时间排序的文件中 我正在使用的代码组合了所有文件 但不按顺序 我正在使用的代码 import pandas as pd import glob os import cs
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • TypeError:无法使用抽象方法实例化抽象类 <...>

    这是我的代码 from abc import ABC from abc import abstractmethod class Mamifiero ABC docstring for Mamifiero def init self self
  • Django South - 将 null=True 字段转换为 null=False 字段

    我的问题是 转变的最佳做法是什么null True场变成null False使用 Django South 的字段 具体来说 我正在与ForeignKey 你应该先写一个数据迁移 http south aeracode org docs t

随机推荐

  • 提高 ASP.NET 应用程序的性能

    如何提高 ASP NET 应用程序的性能 我应该注意哪些领域 该应用程序包括数据库连接和图像解析等 编写高性能 Web 应用程序的 10 个技巧 提高 ASP net 应用程序性能的 20 个技巧 Bye
  • 已超过最大帧长度 65536

    我有一个设置 我使用 gremlin core 库来查询远程 Janusgraph 服务器 目前数据大小适中 但将来会增加 几天前 我在客户端上看到 已超出最大帧长度 65536 错误 我的服务器 yaml 文件中 maxContentLe
  • 低功耗蓝牙 GATT 安全级别

    我正在研究与 GATT 相关的低功耗蓝牙 BLE 中可用的安全类型 更具体地说 使用指定不同安全级别 低 中 高 的 gatttool 时会执行哪些操作 我的理解是 BLE 中的安全管理器支持 4 种不同的安全属性 没有配对 与不支持中间人
  • 如何使用 React 以编程方式填充输入字段值?

    我有一个带有一些输入字段的模式 我可以轻松地通过用户键入输入来自动传递数据 使用onChange输入字段中的函数 如
  • Python 中的双端队列是如何实现的,它们什么时候比列表更糟糕?

    我最近开始研究如何在 Python 中实现各种数据结构 以便使我的代码更加高效 在研究列表和双端队列的工作原理时 我发现当我想要移位和取消移位时 可以将时间从列表中的 O n 减少到双端队列中的 O 1 列表被实现为固定长度数组 这些数组具
  • 如何迭代 Pandas 中的多索引级别?

    我经常有 MultiIndex 索引 并且我想迭代较高级别索引相等的组 它基本上看起来像 from random import choice import pandas as pd N 100 df pd DataFrame choice
  • 为什么我的调用 API 或启动协程的函数返回空值或 null 值?

    免责声明 人们在通过 facebook firebase 等请求使用异步操作时询问数据为空 不正确时 会产生大量问题 我提出这个问题的目的是为每个人提供该问题的简单答案从android中的异步操作开始 我试图从我的一项操作中获取数据 当我使
  • 将键/值从一个字典复制到另一个字典中

    我有一个包含主要数据 大致 的字典 如下所示 UID A12B4 name John email email protected 我还有另一个字典 例如 UID A12B4 other thing cats 我不清楚如何 加入 这两个字典
  • 如何使用 React Router v6 创建子路由器?

    这是我当前的 React Router 实现 const router createBrowserRouter path element
  • HTML:我可以将下标文本放在上标的正下方吗?

    我有一个单词 它既有上标又有下标 现在我把它渲染成这样word
  • 我的 Oracle 联接更新语句有什么问题?

    我正在与一个Oracle10g 数据库 我有以下两个表 T DEBTOR ID DEBTOR HEADER T ELEMENT ID ELEMENT ID DEBTOR INSURER 这两个表使用 ID DEBTOR 字段连接 仅当 HE
  • 12:00 采摘时比较时间不正确

    我正在创建一个预订系统 但我不想允许用户以开始时间 11 00 和结束时间 09 00 过去 进行预订 我使用 24 小时制 我有两个组合框 其中填充了充当开始和结束时间的字符串 09 00 10 00 11 00 12 00 13 00
  • 如何在网站上播放通知声音?

    当某个事件发生时 我希望我的网站向用户播放简短的通知声音 声音应该not打开网站时自动启动 立即 相反 它应该通过 JavaScript 按需播放 当特定事件发生时 重要的是 这也适用于较旧的浏览器 IE6 等 所以 基本上有两个问题 我应
  • Javacv:解码来自 Android 设备上的 red5 服务器的 H.264“实时”流

    这是我的问题 我已经使用 Red5 实现了一个服务器端应用程序 它发送 H 264 编码的实时流 在客户端 该流以 byte 形式接收为了在 Android 客户端上解码它 我遵循了Javacv FFmpeg图书馆 解码的代码如下 publ
  • MySQL XML 查询

    我在使用 MySQL 中的 ExtractValue 函数时遇到了一些问题 这是我的 XML 示例
  • 将数据表转换为Excel 2007(.xlsx)

    我有一个DataTable我需要将其转换为Excel 2007格式并将其另存为excel文件 xlsx 2007 谁能帮助我实现这一目标 您可以使用 OLEDB 数据提供程序 并将 Excel 视为另一个 ADO NET 数据源 以便循环遍
  • 如何使用 libssh 和 SFTP 在 C/C++ 中复制文件

    我想将文件从客户端复制到远程服务器 但我不明白如何使用 libssh 库 SFTP API 来完成此操作 情况是这样的 SSH会话打开 SFTP会话也打开 我可以使用libssh的集成功能创建一个文件并从客户端写入到服务器 我没有找到一种简
  • Google Cloud Firestore 控制台读取所有文档和费用

    我是 Firestore 的新手 所以我有一个配置文件和用户集合 在 Cloud Firestore 控制台中 当我单击数据库 gt Firestore gt 数据选项卡 gt 配置文件或 gt 用户时 控制台正在读取每个集合中的所有文档
  • 仅压缩目录内容,排除父目录

    我正在尝试压缩目录的内容 而不压缩目录本身 但是我找不到明显的方法来做到这一点 而且我对 python 非常陌生 所以它对我来说基本上是德语 这是我正在使用的代码 它成功包含父级以及内容 usr bin env python import
  • Protobuf 不序列化默认值

    我正在为 python 使用 Protobuf 我一直在尝试使用默认值 但每次运行 SerializeToString 时我什么也得不到 例如 这是我的 proto 文件对象 message Test optional string lol