python文件打开模式rb表示只读模式打开文件_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)...
关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。
一、各模式逐个分解
‘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)...相关推荐
- python中w和wb区别_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)
关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.各模式逐个分解 'r':只读. ...
- python中w和wb区别_一篇搞懂python文件讀寫操作(r/r+/rb/w/w+/wb/a/a+/ab)
關於文件操作的幾種常用方式,網上已有很多解說,內容很豐富,但也因此有些雜亂復雜.今天,我就以我個人的學習經驗寫一篇詳細又易懂的總結文章,希望大家看完之后會有所收獲. 一.各模式逐個分解 'r':只讀. ...
- python语言语句快的标记是什么_一文搞懂Python程序语句
原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...
- 一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)
关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.核心功能 'r':只读.该文 ...
- 一篇搞懂Python中的随机数
在 python 中生成随机样本的所有你需要的示例列表 长按关注<Python学研大本营>,加入读者群,分享更多精彩 扫码关注<Python学研大本营>,加入读者群,分享更多精 ...
- python 逆向生成正则表达式_一篇搞定Python正则表达式
1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符类,字符类 ...
- python中row是什么意思_一文搞懂Python中的yield
关注公众号「Python七号」,及时 get Python 技能. yield 可以实现生成器,可以实现协程. 什么是生成器,什么是协程,如果还不了解,可以继续往下看,概念可以不懂,只要理解它的作用和 ...
- python爬虫 django搜索修改更新数据_一文搞懂Django数据库查询操作
本文略长,读完约需十分钟.当做复习笔记效果更佳. 查询操作: 数据查询是数据库操作中一个非常重要的技术.查询一般就是使用filter.exclude以及get三个方法来实现.我们可以在调用这些方法的时 ...
- python中级程序员是什么水准_程序员进阶:一篇搞懂Python中级应用
异常处理:try-except 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行.一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错 ...
最新文章
- 机器人带陀螺仪走钢丝_Sphero RVR 一个无所不能的可编程机器人!
- php html 变量,PHP与HTML混编,使用PHP变量代替数据--20190221
- 全球智能制造发展现状及前景预测 工业机器人引领行业发展
- win7系统待机模式下如何分配下载方法
- SOAP 及其安全控制--转载
- 后端生成Token架构与设计详解
- SAP自定义查询工具SQVI
- C语言中side的用法,C语言 side effect和sequence point
- python代码颜色不同_python – 两个不同颜色的颜色在同一个imshow matplotlib
- 定向输出命令_数据流的世界,带你了解Linux重定向
- 中国工程院撤销李宁院士称号
- Python《爬虫收集》
- C语言三目运算符用法详解
- 科大讯飞携手华南理工,成立脑机接口公司,注册资本4000万
- Tableau Desktop 安装与破解
- 04 - 雷达的工作频率
- 固态硬盘安装Win7双系统
- 如何判断vps的好坏?
- 低价战略 革命主机价格将低于299美金
- 基于word2vec使用wiki中文语料库实现词向量训练模型--2019最新
热门文章
- 号外号外!自动化测试工具AutoRunner V4.2 新版本升级预告!
- hdu4035 Maze 【期望dp + 数学】
- 后端时间转js时间,主要用于取倒计时
- 用JQUERY实现给当前页面导航一个CSS
- (转载)Shutter 0.90 发布 – BUG修复和增强
- 设备管理学习之概念篇
- #转载#记录:文献阅读第一利器:文献笔记法(Literature Notes)
- 淘宝服务端高并发分布式架构的十四次演进之路
- newcoder Tachibana Kanade Loves Probability(小数点后第k位)题解
- LeetCode35.搜索插入位置