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使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
小小聊天室Python代码实现
Aug 17 Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 Python
python通过百度地图API获取某地址的经纬度详解
Jan 28 Python
Python实现一个服务器监听多个客户端请求
Apr 12 Python
python使用pdfminer解析pdf文件的方法示例
Dec 20 Python
对python 多线程中的守护线程与join的用法详解
Feb 18 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
python函数与方法的区别总结
Jun 23 Python
画pytorch模型图,以及参数计算的方法
Aug 17 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
Sep 23 Python
Python语言异常处理测试过程解析
Jan 08 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 伪造本地文件包含漏洞的代码
2011/11/03 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
体育彩票排列三组选三算法分享
2014/03/07 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
Python中optparse模块使用浅析
2015/01/01 Python
python实现读取命令行参数的方法
2015/05/22 Python
python批量制作雷达图的实现方法
2016/07/26 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
python 内置函数filter
2017/06/01 Python
python数据挖掘需要学的内容
2019/06/23 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
Python 处理文件的几种方式
2019/08/23 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
八年级美术教学反思
2014/02/02 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
运动会加油口号
2014/06/07 职场文书
三八节标语
2014/06/27 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL
Python可视化神器pyecharts绘制水球图
2022/07/07 Python