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使用MYSQLDB实现从数据库中导出XML文件的方法
May 11 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
Python3中的json模块使用详解
May 05 Python
python list多级排序知识点总结
Oct 23 Python
python numpy数组中的复制知识解析
Feb 03 Python
Python面向对象中类(class)的简单理解与用法分析
Feb 21 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
Apr 08 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
Python多线程threading创建及使用方法解析
Jun 17 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
Python的collections模块真的很好用
Mar 01 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
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
Track Image Loading效果代码分析
2007/08/13 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 战前探营!
2014/05/21 DOTA
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
Python logging模块学习笔记
2014/05/24 Python
Python入门教程之if语句的用法
2015/05/14 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Django对models里的objects的使用详解
2019/08/17 Python
python matplotlib拟合直线的实现
2019/11/19 Python
django框架forms组件用法实例详解
2019/12/10 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
学校卫生检查制度
2014/02/03 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
党员自评材料范文
2014/12/17 职场文书
大学生就业意向书
2015/05/11 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
python之json文件转xml文件案例讲解
2021/08/07 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技