python中rb含义理解

 更新时间:2020年06月18日 14:41:08   作者:silencement  
在本篇文章里小编给大家整理的是关于python中rb含义及用法内容,需要的朋友们可以学习下。

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扫描代码关键字并进行预警的实现方法

    这篇文章主要介绍了通过Python扫描代码关键字并进行预警的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Python的加密模块之hashlib 与 base64详解及常用加密方法

    Python的加密模块之hashlib 与 base64详解及常用加密方法

    我们来学习一下 Python 中的加密模块,加密模块在工作中被广泛应用,比如数据的传入 不希望被捕获,通过把数据加密。这样即使被捕获也无法获取到数据的真实信息,今天我们就来学习一下关于加密的方法,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • 使用Python中OpenCV和深度学习进行全面嵌套边缘检测

    使用Python中OpenCV和深度学习进行全面嵌套边缘检测

    这篇文章主要介绍了使用Python中OpenCV和深度学习进行全面嵌套边缘检测,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Flask 入门Web 微框架Hello Flask

    Flask 入门Web 微框架Hello Flask

    这篇文章主要介绍了 Flask 入门Web 微框架Hello Flask,Flask 是一个 Python 实现的 Web 微框架,之所以称之为微框架,是因为 Flask 核心简单且易于扩展,有两个主要依赖,WSGI工具集:Werkzeug和模板引擎:Jinja2,Flask 只保留了 Web 开发的核心功能,需要的朋友可以参考一下
    2021-11-11
  • 用Python计算三角函数之acos()方法的使用

    用Python计算三角函数之acos()方法的使用

    这篇文章主要介绍了用Python计算三角函数之acos()方法的使用,是Python学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • python批量同步web服务器代码核心程序

    python批量同步web服务器代码核心程序

    这篇文章主要介绍了python批量同步web服务器代码核心程序,需要的朋友可以参考下
    2014-09-09
  • python 叠加等边三角形的绘制的实现

    python 叠加等边三角形的绘制的实现

    这篇文章主要介绍了python 叠加等边三角形的绘制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • windows上彻底删除jupyter notebook的实现

    windows上彻底删除jupyter notebook的实现

    这篇文章主要介绍了windows上彻底删除jupyter notebook的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Tensorflow 实现线性回归模型的示例代码

    Tensorflow 实现线性回归模型的示例代码

    这篇文章主要介绍了Tensorflow 实现线性回归模型,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 基于python tornado实现图床功能

    基于python tornado实现图床功能

    因为买了阿里/腾讯的云服务器,但是使用云存储还需要收费,又加上家里正好有一台nas,又加上闲的没事,所以搞了一个小脚本,这个项目主要功能是为typora增加一个自定义图床,本文给大家介绍基于python tornado实现图床功能,感兴趣的朋友一起看看吧
    2023-08-08

最新评论