文件格式均为kv对,即keylength, key, valuelen, value. 如何对其进行读写操作,本文列出demo code。感谢涛哥贡献部分代码,这里分享,方便大家使用。

Python:

def readimg():fr = open('IMG_2963.JPG','r')keylen = struct.unpack('i',fr.read(4))[0]key = fr.read(keylen)valuelen = struct.unpack('i',fr.read(4))[0]value = fr.read(valuelen)fr.close()def writeimg():fw = open('Img_to_Write','w')key = 'key'fw.write(struct.pack('i',len(key)))fw.write(key)           fw.write(struct.pack('i',len(val)))fw.write(val)fw.close()

C++:

inline bool readkv(istream &ifs,string &key,string &value)
{int keylen;ifs.read((char*)&keylen,4);if (!ifs){return false;}key.resize(keylen);ifs.read((char*)key.c_str(),keylen);int valuelen;ifs.read((char*)&valuelen,4);value.resize(valuelen);ifs.read((char*)value.c_str(),valuelen);return true;
}inline void writekv(ostream &ofs,const string & key,const string & value)
{unsigned int klen = key.size();unsigned int vlen = value.size();ofs.write((const char*)&klen,4);ofs.write(key.c_str(),klen);ofs.write((const char*)&vlen,4);ofs.write(value.c_str(),vlen);ofs.flush();
}

如果value是一张图片的data,调用的时候可以用opencv的imdecode直接进行转换,生成cv::Mat类型的图片

cv::Mat buf(1,value.size(),CV_8U,(void *)value.c_str());
cv::Mat srcmat = cv::imdecode(buf,1);

kv文件读写 in Python C++相关推荐

  1. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

  2. C++的文件读写以及python的文件读写

    文章目录 C++ 读文件 写文件 Python 读文件 写文件 后言 C++ 读文件 其实一般文件的读取只涉及从文件中把东西读出来,所以提供以下模板: #include <bits/stdc++ ...

  3. python模块、字符编码、文件读写

    模块 当我们用一种语言开始真正的软件开发室,除了编写代码外,还需要很多基本的已经写好的现成的东西,高级语言通常都会为我们提供了一个比较完善的基础代码库,让我们能直接调用,python也不例外,为我们提 ...

  4. python通过解释器内置的open_Python 之 文件读写的学习

    文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容,其中包括两种类型:文本文件和二进制文件.文件读写是Python代码调用电脑文件的主要功能,能被用于读取和写入文本记录.音频片段.Excel ...

  5. 关于python文件读写小结

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  6. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...

  7. python知识点:文件读写以及其他基础知识点

    常用模块 import os os.system()入参是一个字符串,一旦调用,这个字符串就会当作系统命令来执行. os.system('pwd') /home/ubuntu 交互式输入 name=r ...

  8. python多线程读取文件的问题_Python多线程同步---文件读写控制方法

    1.实现文件读写的文件ltz_schedule_times.py #! /usr/bin/env python #coding=utf-8 import os def ReadTimes(): res ...

  9. 教你如何运用python实现简单文件读写函数

    这篇文章主要为大家详细介绍了python实现简单文件读写函数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 python作为脚本性语言,加上它的简便易用性.会经常当作脚 ...

最新文章

  1. jqgrid 让隐藏的列在编辑状态时出现且可编辑
  2. verilog基础--sign表达式
  3. JavaScript中Console的9个常用调试命令
  4. Bugku杂项(一)
  5. php里的抽象类和接口
  6. 小储云v1.782免授权版
  7. android横向纵向切换,【报Bug】安卓竖屏切换到横屏后,再切换回竖屏,不能正常还原...
  8. IOS学习之路十(仿人人滑动菜单Slide-out Sidebar Menu)
  9. 【总结】最近写代码的思考与总结
  10. 2021.10.07高一Python语法入门课堂检测题解
  11. 算法提高 阮小二买彩票
  12. 奶酪和奶酪碎的区别_与奶酪三星银河芽战斗大逃杀直播vs airpods
  13. Motion Planning中的问题与挑战
  14. 音视频之模拟今日头条列表视频
  15. 华为苏箐被曝转投大众汽车:最狂智能车高管,因抨击特斯拉丢工作,任正非亲自签发罢免令...
  16. 如何更换及自制QQ皮肤?
  17. 2020 icpc 沈阳
  18. iClap的名字是怎么来的,clap是有什么特殊的意义么?
  19. 【CodeForce】559B Equivalent Strings 等效字符串
  20. Windows服务安装卸载 Windows清理实用工具 SQL2000安装挂起修复工具绿色版

热门文章

  1. MacOS安装gurobi申请学术证书+激活+python导入
  2. ARM系列CPU对比介绍(未完待续)
  3. Win11安卓子系统导致安卓模拟器无法启动
  4. 用hive或mr清洗app数据
  5. 处理器一条指令需要几个时钟周期?
  6. matlab 图像 高通滤波器,基于matlab数字图像处理之高通滤波器
  7. 李嘉诚预言新操作系统即将面世 三星平台梦隐现
  8. 汇编语言基础笔记03
  9. vue 动态粒子背景插件
  10. 如何在C艹大作业上用复数计算器拿下一个100分