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入门之语句(if语句、while语句、for语句)
Jan 19 Python
Python中断言Assertion的一些改进方案
Oct 27 Python
python文件特定行插入和替换实例详解
Jul 12 Python
Django组件cookie与session的具体使用
Jun 05 Python
Python二进制文件读取并转换为浮点数详解
Jun 25 Python
python 处理微信对账单数据的实例代码
Jul 19 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
TensorFlow打印输出tensor的值
Apr 19 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 Python
新手常见Python错误及异常解决处理方案
Jun 18 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 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
用函数读出数据表内容放入二维数组
2006/10/09 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
python 把列表转化为字符串的方法
2018/10/23 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
Python Json数据文件操作原理解析
2020/05/09 Python
python3爬虫中异步协程的用法
2020/07/10 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
函授本科自我鉴定
2014/02/04 职场文书
行政助理工作职责范本
2014/03/04 职场文书
认真学习保证书
2015/02/26 职场文书
美丽心灵观后感
2015/06/01 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
礼仪培训心得体会
2016/01/22 职场文书
工作一年自我鉴定
2019/06/20 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
python区块链持久化和命令行接口实现简版
2022/05/25 Python
netty 实现tomcat的示例代码
2022/06/05 Servers