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实现的简单猜数字游戏
Apr 04 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
scrapy爬虫实例分享
Dec 28 Python
python抓取文件夹的所有文件
Feb 27 Python
Python生成任意范围任意精度的随机数方法
Apr 09 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
Django中的Model操作表的实现
Jul 24 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 Python
python groupby 函数 as_index详解
Dec 16 Python
Python实现文本文件拆分写入到多个文本文件的方法
Apr 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
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
PHP CURL使用详解
2019/03/21 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
webpack多页面开发实践
2017/12/18 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
Django使用Celery异步任务队列的使用
2018/03/13 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
python conda操作方法
2019/09/11 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
python中类与对象之间的关系详解
2020/12/16 Python
python中re模块知识点总结
2021/01/17 Python
html5 视频播放解决方案
2016/11/06 HTML / CSS
三字经教学反思
2014/04/26 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书
入学证明
2015/06/23 职场文书
创业计划书之校园超市
2019/09/12 职场文书
Go语言读取txt文档的操作方法
2022/01/22 Golang