python中rb含义理解


Posted in Python onJune 18, 2020

Python文件读写的几种模式:

r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢?

文件使用方式标识

  • 'r':默认值,表示从文件读取数据
  • 'w':表示要向文件写入数据,并截断以前的内容
  • 'a':表示要向文件写入数据,添加到当前内容尾部
  • 'r+':表示对文件进行可读写操作(删除以前的所有数据)
  • 'r+a':表示对文件可进行读写操作(添加到当前文件尾部)
  • 'b':表示要读写二进制数据。

读文件 进行读文件操作时,直到读到文档结束符(EOF)才算读取到文件最后,Python会认为字节\x1A(26)转换成的字符为文档结束符(EOF),

故使用'r'进行读取二进制文件时,可能会出现文档读取不全的现象。

示例:

二进制文件中存在如下从低位向高位排列的数据:7F 32 1A 2F 3D 2C 12 2E 76

如果使用'r'进行读取,则读到第三个字节,即认为文件结束。

如果使用'rb'按照二进制位进行读取的,不会将读取的字节转换成字符,从而避免了上面的错误。

解决方案:

二进制文件就用二进制方法读取'rb'

总结:

使用'r'的时候,如果碰到'0x1A',就视为文件结束,就是EOF。使用'rb'则不存在这个问题,

即:如果你用二进制写入再用文件读出的话,如果其中存在'0x1A',就只会读出文件的一部分,使用'rb'会一直读取文件末尾。

知识点扩展:

  1. r是读取人工书写的数据,书写的时候是什么样子,读出来就是什么样。
  2. rb是读取二进制文件,非人工书写的数据如.jpeg等这些。
  3. 另外encoding可以指定解码格式,utf-8是现在的主流编码方式,如果没有指定encoding 的方式那么根据python版本的不同会有不同的解码方式,Python3中是utf-8,而python2中是ascii。

到此这篇关于python中rb含义理解的文章就介绍到这了,更多相关python中rb是什么意思内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
python的unittest测试类代码实例
Dec 07 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
Python爬虫动态ip代理防止被封的方法
Jul 07 Python
python实现百度OCR图片识别过程解析
Jan 17 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
python 用opencv实现图像修复和图像金字塔
Nov 27 Python
Python 流媒体播放器的实现(基于VLC)
Apr 28 Python
Python 读写 Matlab Mat 格式数据的操作
May 19 Python
只用50行Python代码爬取网络美女高清图片
Jun 02 Python
详解如何用Python实现感知器算法
Jun 18 Python
python如何输出反斜杠
Jun 18 #Python
python能自学吗
Jun 18 #Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 #Python
Python正则表达式高级使用方法汇总
Jun 18 #Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 #Python
新手常见Python错误及异常解决处理方案
Jun 18 #Python
Python之Matplotlib文字与注释的使用方法
Jun 18 #Python
You might like
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
继续学习javascript闭包
2015/12/03 Javascript
Node.js实现数据推送
2016/04/14 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
python处理Excel xlrd的简单使用
2017/09/12 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
python归并排序算法过程实例讲解
2020/11/04 Python
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
大学生创业计划书的格式要求
2013/12/29 职场文书
建筑经济管理专业求职信分享
2014/01/06 职场文书
施工单位安全责任书
2014/07/24 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
新员工入职感想
2015/08/07 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
Java 在生活中的 10 大应用
2021/11/02 Java/Android