一、Python文件读写的几种模式:

r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢?

1、文件使用方式标识

'r':默认值,表示从文件读取数据。

'w':表示要向文件写入数据,并截断以前的内容

'a':表示要向文件写入数据,添加到当前内容尾部

'r+':表示对文件进行可读写操作(删除以前的所有数据)

'r+a':表示对文件可进行读写操作(添加到当前文件尾部)

'b':表示要读写二进制数据

2、读文件 进行读文件操作时,直到读到文档结束符(EOF)才算读取到文件最后,Python会认为字节\x1A(26)转换成的字符为文档结束符(EOF),

故使用'r'进行读取二进制文件时,可能会出现文档读取不全的现象。

示例:

二进制文件中存在如下从低位向高位排列的数据:7F 32 1A 2F 3D 2C 12 2E 76

如果使用'r'进行读取,则读到第三个字节,即认为文件结束。

如果使用'rb'按照二进制位进行读取的,不会将读取的字节转换成字符,从而避免了上面的错误。

解决方案:

二进制文件就用二进制方法读取'rb'

总结:

使用'r'的时候,如果碰到'0x1A',就视为文件结束,就是EOF。使用'rb'则不存在这个问题,

即:如果你用二进制写入再用文件读出的话,如果其中存在'0x1A',就只会读出文件的一部分,

使用'rb'会一直读取文件末尾。

3、写文件 对于字符串x='abc\ndef',我们可用len(x)得到它的长度为7,\n我们称之为换行符,实际上是0x0A。当我们用'w'即文本方式写的时候,在windows平台上会自动将'0x0A'变成两个字符'0x0D','0x0A',即文件长度实际上变成8。当用'r'文本方式读取时,又自动的转换成原来的换行符。 如果换成'wb'二进制方式来写的话,则会保持一个字符不变,读取的时候也是原样读取。 所以如果用文本方式写入,用二进制方式读取的话,就要考虑这多出的一个字节了。'0x0D'也称回车符。 Linux下不会变,因为linux只使用'0X0A'来表示换行。

python文件读写_python基础-文件读写'r' 和 'rb'区别相关推荐

  1. python 文件修改记录_python基础-文件增删改查

    对指定文件haproxy.conf的backend www.oldboy1.org进行增删改查.文件内容如下 global log 127.0.0.1 local2 daemon maxconn 25 ...

  2. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  3. python os读取文件内容_python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  4. python创建文件对象_python基础教程:文件读写

    在Linux系统中,一切都是文件.但我们通常说的文件是保存在磁盘上的图片.文档.数据.程序等等.而在程序的IO操作中,很多时候就是从磁盘读写文件.本节我们讲解Python中的文件对象如何操作文件. 创 ...

  5. python对文件的_python对文件的读写

    文件 File 什么是文件 文件是用于数据存储和单位 文件通常用来长期存储数据 文件中的数据是以字节为单位进行顺序存储的 文件的操作流程: 1. 打开文件 2. 读/写文件 3. 关闭文件 注: 任何 ...

  6. python如何进入文件夹_python之文件的读写和文件目录以及文件夹的操作实现代码...

    这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用 ...

  7. python保存代码_python操作文件读写新增保存代码

    file1 = open('scores.txt','r',encoding='utf-8′) #utf8的方式读文件 file_lines = file1.readlines() #取出文件 按行写 ...

  8. python def return 文件_python基础-文件处理与函数

    1. 文件处理 1.1 文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 1.2 文件读取模式r r文本模式的读,在文件不存在,不会创建新文件 f = ...

  9. python面试文件操作_python基础-三分钟搞定面试官爱问的【文件操作】

    一.使用python读写文本文件 使用Python来读或者写文本需要用到'open'这个关键字,它的作用是打开一个文件并创建一个文件对象. open语法结构: open(file, mode='r', ...

最新文章

  1. R语言with函数和within函数:with函数基于表达式在dataframe上计算、within函数基于表达式在dataframe上计算并修改原始数据
  2. 手机下载Python_手机也能编程?盘点这6个可以用手机编程的App!快收藏
  3. Python基础08 面向对象的基本概念
  4. excel柱状图堆叠图显示总和_Excel 的堆积柱形图上,怎样才能显示堆积图的总和?...
  5. Effective Java读书笔记一:并发
  6. Leetcode 28. 实现 strStr()
  7. Svcutil.exe详解
  8. SQL数据库高级查询命令(2)
  9. java面试题——项目常见面试题(单点登录、购物车)
  10. 微信公众平台测试号申请、使用HBuilder X与微信开发者工具实现授权登陆功能以及单点登录
  11. vbox vdi磁盘注册_克隆Virtualbox的vdi硬盘 和 修改uuid
  12. android studio安装SDK时无法勾选
  13. 超详细的gnuplot使用教程【2】
  14. C# chart1 添加滚动条的缩放 鼠标滚轮控制缩放
  15. 大数据运营之财务数据模型设计
  16. 计算机三级网络技术 2019.3考试
  17. Linux 中 vim编辑器如何跳转到指定的列、如何跳转到行首或者行尾、左右跳转
  18. 女生适合学数据分析吗?过来人告诉你
  19. arcgis10.2以上dbf用excel打开中文乱码问题(10.8为例)
  20. 天天带着这个工具,你也不一定完全知道它的一切!

热门文章

  1. php 验证微信token_php之微信公众号验证token获取access_token
  2. 新建linux 服务器初始化配置
  3. python json模块
  4. 逆向-002-iOS重签名
  5. 多文件的Makefile
  6. JAVA File方法各类文件复制操作
  7. Snort里如何将读取的包记录存到指定的目录下(图文详解)
  8. 分类(category)是门学问
  9. request的生命周期
  10. 【原创】backbone1.1.0源码解析之Events