from google.protobuf import json_format
import json
import xxxx as pb         # <--------- 这里是 proto 编译出来的 py文件
import glob
import os
def pb2json_file(message, pb_file, json_out_file, save_=False, show_=False):"""用来将pb文件转换为json文件Args:messagepb_file (string): 需要转换的 pb 文件路径字符串json_out_file (string): 输出的 json 文件路径字符串save_ (bool, optional): 是否保存. Defaults to False. 优先级高于 `json_out_file`show (bool, optional): 是否显示 pb 文件内容. Defaults to False.Return:out_dic: 输出的字典"""with open(str(pb_file), "rb") as f:message.ParseFromString(f.read())json_str = json_format.MessageToJson(message)json_obj = json.loads(json_str)if show_:# print(json_str)print(message)if save_:with open(json_out_file, "w") as f:f.write(json_str)return json_obj

这样调用即可

message = pb.xxxxx()  # 这里写 pb 中的名称pb_file = 'input.pb'
json_file= 'out.json'json_obj = pb2json_file(message, pb_file, json_file, show_=True, save_=True)

这个API返回的是json字符串,而不是字典

from google.protobuf import json_format
json_format.MessageToJson

pb文件转json文件python脚本相关推荐

  1. Python将txt文件转为json文件

    python将txt文件转为json文件 txt文件中内容: [*]www.xiaoyang.1 [*]www.xiaoyang.12 [*]www.xiaoyang.135 [*]www.xiaoy ...

  2. linux系统如何创建python文件_linux如何运行python脚本

    1.使用python的IDLE运行python 如果你的Linux安装了python,按Ctrl+Alt+T键打开Terminal,输入指令:python.会出现>>>,这个时候就可 ...

  3. 从 EuRoC MAV Dataset 的 .zip 文件生成 .bag 的 python 脚本

    EuRoc MAV Dataset 是 VSLAM 和 VIO 常用的一个数据集.每个场景同时保存了 .bag 的 rosbag 文件和 .zip 的压缩文件,但是在国内的网络中下载 .bag 文件异 ...

  4. Python之文件处理-JSON文件

    Step1:什么是JSON文件 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js ...

  5. linux怎么创建python文件_Linux下创建python脚本并运行(入门)

    1.首先定位到一个文件夹,然后使用vim编辑器:vim test.py 就创建了python脚本文件,并且进入编辑状态 2.编辑好之后按Esc切换到命令模式,然后输入:wq 回车就自动保存完成了,然后 ...

  6. linux将py变成exe文件,使用py2exe将Python 脚本生成exe可执行文件

    使用Python的py2exe模块可以很容易地帮助我们将Python脚本生成可执行的exe程序.这样我们就可以让脚本脱离虚拟机的束缚,从而独立运行. 环境要求: python虚拟机,我使用的是pyth ...

  7. 【Python】实现csv文件转json文件

    import jsonimport pandas as pd# 读取CSV文件 csvData = pd.read_csv(r'testData.csv', header = 0) # 读取CSV文件 ...

  8. Kettle CSV文件与json文件转换实例

    一.CSV文件转换 CSV是Comma-Separated Values的缩写,即逗号分隔值.CSV文件是用逗号分隔数据字段的文件,因此也被称为逗号分隔值文件,有时会使用字符来替代逗号实现分隔,因此, ...

  9. CSV文件与json文件转换实例

    一.CSV文件转换 CSV作为数据转存的一种常用格式,它有特定的实现规则,具体如下: 文件开头不能留空,以"行"为单位: 文件可含或不含列名,若含有列名,则位于文件第一行: 文件中 ...

最新文章

  1. jzoj100047-基因变异【位运算,bfs】
  2. 第三十五章 大唐工厂主
  3. Android MuPDF 部署
  4. 怎么用EasyRecovery恢复硬盘内被误删的数据
  5. python信息安全工具之端口扫描器
  6. android x86 精简版,逆天!Windows7终极纯净版x86,仅239MB | 殁漂遥
  7. 通过银行卡号查询银行卡信息
  8. 首次曝光 唯一全域最高等级背后的阿里云云原生安全全景图
  9. 201771010112罗松《面向对象程序设计(java)》第十三周学习总结
  10. 项目管理九大知识领域五大过程组
  11. MOXA NPort5630串口设备联网服务器
  12. k8s之ceph分布式存储
  13. 八段锦健身养生功法介绍
  14. Openwhisk之 -- 创建基于Docker的Action
  15. linux运行雷神之锤,Ubuntu下多人射击类游戏 Quake Live 雷神之锤
  16. python 使用excel画图
  17. 2021武汉理工大学计算机考研复试经验分享
  18. 成都低价卖书-java uml 架构设计等方面
  19. Piwik 安装与使用
  20. 前端屏幕尺寸和分辨率_web前端开发中常用的尺寸和位置

热门文章

  1. mysql语句:SET NAMES UTF8
  2. [工业相机] 分辨率、精度和公差之间的关系
  3. 机器学习--决策树理论知识(二)
  4. webpack将js混淆代码
  5. 软件开发团队如何管理琐碎、突发性任务
  6. 关于旋转矩阵R,平移向量t和变换矩阵T的关系
  7. 利用JFM进行多媒体编程(转载)
  8. Python基于OpenCV的异常行为检测系统[源码&部署教程]
  9. 字节跳动青训营Day01 - 实战项目 - 在线翻译字典
  10. 我用rpgmaker mz制作牧场游戏范例