python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)
如下表
| 模式 | 可做操作 | 若文件不存在 | 是否覆盖 |
| r | 只能读 | 报错 | - |
| r+ | 可读可写 | 报错 | 是 |
| w | 只能写 | 创建 | 是 |
| w+ | 可读可写 | 创建 | 是 |
| a | 只能写 | 创建 | 否,追加写 |
| a+ | 可读可写 | 创建 | 否,追加写 |
| b |
表示要读写二进制数据, 可与上面的模式组合。无b时以字符串数据形式操作 |
1.只读模式(r)一个存在的文件:
def file_operation():
with open('/wzd/test.txt', mode='r') as f:
# f.write('abc')
r = f.readlines()
print r
print '---done---' file_operation()
正常输出:

2.只读模式(r)一个不存在的文件:
def file_operation():
with open('/wzd/test001.txt', mode='r') as f:
# f.write('abc')
r = f.readlines()
print r
print '---done---' file_operation()
注意上面的文件名字变了,输出如下:

3.只读模式去写文件:
def file_operation():
with open('/wzd/test.txt', mode='r') as f:
f.write('abc')
r = f.readlines()
print r
print '---done---' file_operation()

seek
seek(offset, whence)
offset: 偏移量
whence: 表示的是从哪个位置进行偏移,
0: 表示开头, 默认值
1: 表示当前位置,
2: 表示结尾
注意, 移动的单位是byte.
所以如果是UTF-8的中文部分要是3的倍数.
通常我们使用seek都是移动到开头或者结尾.
seek(0, 0): 移动到开头
seek(0, 2):移动到结尾
python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)的更多相关文章
- python文件读写模式 --- r,w,a,r+,w+,a+,rb,wb
要了解文件读写模式,需要了解几种模式的区别,以及对应指针 r : 读取文件,若文件不存在则会报错 w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件 a : 写入文件,若文件不存在则会先创建再 ...
- 一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)
关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.核心功能 ‘r’ ...
- Python文件读写模式
r 打开只读文件,该文件必须存在. r+ 打开可读写的文件,该文件必须存在.可读,可写,可追加. w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. w+ 打 ...
- 正确理解Python文件读写模式字w+、a+和r+
w+ 和 r+的差别不难理解.还有a+ +同一时候读写,就可以读又可写,边写边读.边读边写,不用flush,用seek 和 tell可測得. fp = open("a.txt", ...
- python 文件读写模式区别,以及如何边写入边保存flush()
如表: 模式 可做操作 若文件不存在 是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建 是 a 只能写 创建 否,追加写 a+ 可读可写 创建 否, ...
- python文件读写及形式转化和CGI的简单应用
一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...
- python文件读写详解
# Python3 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, ...
- python 文件读写操作(24)
以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...
- Python文件读写之r+/w+/a+
读模式 r 打开不存在的文件会报错.不能写:如不指定模式则默认是r 写模式 w 打开不存在的文件会,会新建一个文件:打开存在的文件会先清空后覆盖原有文件:不能读 追加模式 a 打开不存在的文件会,会新 ...
随机推荐
- 使用python内置库pytesseract实现图片验证码的识别
环境准备: 1.安装Tesseract模块 git文档地址:https://digi.bib.uni-mannheim.de/tesseract/ 下载后就是一个exe安装包,直接右击安装即可,安装完 ...
- 文件编码检测.ZC一些资料(包含java的)
1.IMultiLanguage3 或者 IMultiLanguage2 1.1.怎么判断XML 的编码格式(UTF-8或GB2312等)-CSDN论坛.html(https://bbs.csdn.n ...
- 最长公共前缀(java实现)
题目: 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow& ...
- linux中pam模块
https://www.cnblogs.com/ilinuxer/p/5087447.html linux中pam模块 一.pam简介 Linux-PAM(linux可插入认证模块)是一套共享库,使本 ...
- vue中操作cookie的插件
js-cookie 安装: npm i js-cookie import Cookies from 'js-cookie' 具体用法: 写入: Cookies.set('name', 'value') ...
- CDI
CDI,JAVA用语 Java EE CDI 主要使用@Inject注解来实现依赖注入,把受管理的bean注入到由容器管理的其它资源中去.在本教程中,我们将会介绍在CDI环境下几种不同的可选策略来实现 ...
- linux 程序无缘无故推出 没有core文件 broken pipe Resource temporarily unavailable
问题 1. linux socket 服务端程序 无缘无故退出 . 2. 客户端大量访问服务端后,出现 Resource temporarily unavailable错误 问题分析: 1. 是否有 ...
- 剑指Offer 56. 删除链表中重复的结点 (链表)
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...
- RSA加密解密实现(JAVA)
1.关于RSA算法的原理解析参考:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html 2.RSA密钥长度.明文长度和密 ...
- echarts地图散点高亮弹框制作
效果图如下: 实现大致思路: 引入echarts最新版本,还有china.json,以及地级市坐标,(因为产品需求中不考虑省份,只考虑各个地级市),echarts官网已经不让下载地图了,网上很多地级市 ...