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 相关文章推荐
python文件操作相关知识点总结整理
Feb 22 Python
利用python对Excel中的特定数据提取并写入新表的方法
Jun 14 Python
python计算两个数的百分比方法
Jun 29 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
python pandas写入excel文件的方法示例
Jun 25 Python
使用python爬取微博数据打造一颗“心”
Jun 28 Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
Python ORM编程基础示例
Feb 02 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
Pycharm如何自动生成头文件注释
Nov 14 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
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
javascript Window及document对象详细整理
2011/01/12 Javascript
怎么清空javascript数组
2013/05/11 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
PHP PDO操作总结
2014/11/17 Javascript
JavaScript实现获得所有兄弟节点的方法
2015/07/23 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
jQuery+HTML5加入购物车代码分享
2020/10/29 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
前端设计师们最常用的JS代码汇总
2016/09/25 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
Python读写Excel文件的实例
2013/11/01 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
python微信撤回监测代码
2019/04/29 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
Html5元素及基本语法详解
2016/08/02 HTML / CSS
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
Myprotein西班牙官网:欧洲第一大运动营养品牌
2020/02/24 全球购物
自动化专业毕业生求职信
2014/06/18 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript