关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。

一、各模式逐个分解

‘r’:只读。该文件必须已存在。

‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。

‘rb’:表示以二进制方式读取文件。该文件必须已存在。

‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。

‘w+’:写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。

‘wb’:表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。

‘a’:追加写。若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读。

‘a+’:追加读写。打开文件方式与写入方式和'a'一样,但是可以读。需注意的是你若刚用‘a+’打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置。(可使用seek()方法解决这个问题,详细请见下文Model 8 示例)

看完上面各个模式的释义,可能有的人会觉得一堆文字有些枯燥,我一开始也是觉得如此,but,看似那么多模式,无非是三大类:读r(read),写w(write),追加a(append)。

当然,我会用尽可能精短的代码为大家解释,文件操作各个模式具体如何使用。请继续往下看。

二、示例解说

Model 1: r ---只读模式====================================================================================

注意:test2.txt 必须文件是已存在的。顺便说一下字符编码。因为Windows操作系统默认字符编码为GBK,而Python默认Unicode.utf-8,如果不写“ encoding=‘utf-8' "就会报错。

Model 2: r+ ---可读可写模式===================================================================================

Model 3: rb ---以二进制方式读取文件====================================================================================

Model 4: w ---只写模式======================================================================================

Model 5: w+ ---写读模式=======================================================================================

Model 6: wb+ ---以二进制方式读写文件=======================================================================================

Model 7: a ---追加写模式====================================================================================

Model 8: a+ ---追加读写模式==================================================================================

三、附加干货

以下是文件操作中常用的一些方法:

print(f.readline(5)) # 打印前5个字符

print(f.readline()) # 打印第一行

print(f.tell()) # 打印当前指针位置

print(f.read()) # 读完文件后,指针在最尾处

f.seek(0) # 如要重头到尾再读,文件指针须先回到文件头

print(f.read()) # 重读文件

print(f.encoding) # 打印当前使用的字符编码

print(f.name) # 打印文件名

print(f.flush()) # 刷新

f.truncate() # 清空文件

f.truncate(12) # 从头开始,第12个字符后截断并清除

f.close() # 关闭文件

以上的知识点,只要你理解并掌握了,以后在Python中进行文件操作的时候就能如行云流水般自然流畅啦。一句话,so easy,妈妈再也不用担心我的学习啦~(咳咳)

- end -

内容来源于网络如有侵权请私信删除

python文件打开模式rb表示只读模式打开文件_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)...相关推荐

  1. python中w和wb区别_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

    关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.各模式逐个分解 'r':只读. ...

  2. python中w和wb区别_一篇搞懂python文件讀寫操作(r/r+/rb/w/w+/wb/a/a+/ab)

    關於文件操作的幾種常用方式,網上已有很多解說,內容很豐富,但也因此有些雜亂復雜.今天,我就以我個人的學習經驗寫一篇詳細又易懂的總結文章,希望大家看完之后會有所收獲. 一.各模式逐個分解 'r':只讀. ...

  3. python语言语句快的标记是什么_一文搞懂Python程序语句

    原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...

  4. 一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

     关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.核心功能 'r':只读.该文 ...

  5. 一篇搞懂Python中的随机数

    在 python 中生成随机样本的所有你需要的示例列表 长按关注<Python学研大本营>,加入读者群,分享更多精彩 扫码关注<Python学研大本营>,加入读者群,分享更多精 ...

  6. python 逆向生成正则表达式_一篇搞定Python正则表达式

    1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符类,字符类 ...

  7. python中row是什么意思_一文搞懂Python中的yield

    关注公众号「Python七号」,及时 get Python 技能. yield 可以实现生成器,可以实现协程. 什么是生成器,什么是协程,如果还不了解,可以继续往下看,概念可以不懂,只要理解它的作用和 ...

  8. python爬虫 django搜索修改更新数据_一文搞懂Django数据库查询操作

    本文略长,读完约需十分钟.当做复习笔记效果更佳. 查询操作: 数据查询是数据库操作中一个非常重要的技术.查询一般就是使用filter.exclude以及get三个方法来实现.我们可以在调用这些方法的时 ...

  9. python中级程序员是什么水准_程序员进阶:一篇搞懂Python中级应用

    异常处理:try-except 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行.一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错 ...

最新文章

  1. 机器人带陀螺仪走钢丝_Sphero RVR 一个无所不能的可编程机器人!
  2. php html 变量,PHP与HTML混编,使用PHP变量代替数据--20190221
  3. 全球智能制造发展现状及前景预测 工业机器人引领行业发展
  4. win7系统待机模式下如何分配下载方法
  5. SOAP 及其安全控制--转载
  6. 后端生成Token架构与设计详解
  7. SAP自定义查询工具SQVI
  8. C语言中side的用法,C语言 side effect和sequence point
  9. python代码颜色不同_python – 两个不同颜色的颜色在同一个imshow matplotlib
  10. 定向输出命令_数据流的世界,带你了解Linux重定向
  11. 中国工程院撤销李宁院士称号
  12. Python《爬虫收集》
  13. C语言三目运算符用法详解
  14. 科大讯飞携手华南理工,成立脑机接口公司,注册资本4000万
  15. Tableau Desktop 安装与破解
  16. 04 - 雷达的工作频率
  17. 固态硬盘安装Win7双系统
  18. 如何判断vps的好坏?
  19. 低价战略 革命主机价格将低于299美金
  20. 基于word2vec使用wiki中文语料库实现词向量训练模型--2019最新

热门文章

  1. 号外号外!自动化测试工具AutoRunner V4.2 新版本升级预告!
  2. hdu4035 Maze 【期望dp + 数学】
  3. 后端时间转js时间,主要用于取倒计时
  4. 用JQUERY实现给当前页面导航一个CSS
  5. (转载)Shutter 0.90 发布 – BUG修复和增强
  6. 设备管理学习之概念篇
  7. #转载#记录:文献阅读第一利器:文献笔记法(Literature Notes)
  8. 淘宝服务端高并发分布式架构的十四次演进之路
  9. newcoder Tachibana Kanade Loves Probability(小数点后第k位)题解
  10. LeetCode35.搜索插入位置