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中的闭包详细介绍和实例
Nov 21 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
Python中处理字符串之isalpha()方法的使用
May 18 Python
浅谈python多线程和队列管理shell程序
Aug 04 Python
python中字符串类型json操作的注意事项
May 02 Python
Python绘制3D图形
May 03 Python
Sanic框架请求与响应实例分析
Jul 16 Python
Python将string转换到float的实例方法
Jul 29 Python
Python实现FLV视频拼接功能
Jan 21 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 Python
python文件排序的方法总结
Sep 13 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
Nov 19 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
php 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
PHP中其实也可以用方法链
2011/11/10 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
node.js实现快速截图
2016/08/27 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
webpack 处理CSS资源的实现
2019/09/27 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
Python解决鸡兔同笼问题的方法
2014/12/20 Python
Python实现线程池代码分享
2015/06/21 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
python从PDF中提取数据的示例
2020/10/30 Python
python palywright库基本使用
2021/01/21 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
幼儿园中班教学反思
2014/02/10 职场文书
12月红领巾广播稿
2014/02/13 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技