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 打开不存在的文件会,会新 ...
随机推荐
- 解决跨域No 'Access-Control-Allow-Origin' header is present on the requested resource.
用angular发起http.get(),访问后端web API要数据,结果chrome报错:跨域了 Access to XMLHttpRequest at 'http://127.0.0.1:300 ...
- Foxmail7.2新建的文件夹不见了
Foxmail在客户端上,新建了几个文件夹,并把相应的邮件都都选择了“总是把**邮件转移到”这个选项. 今天早上打开电脑一看,所有的邮件连同对应的文件夹都找不到了 Foxmail中没显示因为默认是隐藏 ...
- hdu-5009 Paint Pearls DP+双向链表 with Map实现去重优化
http://acm.hdu.edu.cn/showproblem.php?pid=5009 题目要求对空序列染成目标颜色序列,对一段序列染色的成本是不同颜色数的平方. 这题我们显然会首先想到用DP去 ...
- postman加密短信验证码
问题描述:有一个绑定手机号的接口需要向手机发送验证码,接口会将验证码进行base64编码加密,加密后的值赋值给code参数,其他接口请求均需要code参数,如何带上该参数 解决方案:在请求其他接口前请 ...
- Dockerfile命令大全
Dockerfile 制作Dockerfile为Docker入门学习的第一步. Dockerfile可以快速的帮助我们去构建镜像, 是在工作中必备的一项技能, 下面整理了一些命令 FROM 功能为指定 ...
- mysql(5.5)安装后忘记密码
查看mysql安装的路径
- 获取页面定位元素left top
1原生方法: 第一种方法,比较简单,就是直接通过obj.style.left和obj.style.top,但是有局限性,这种获取的方法只能获取到行内样式的left和top的属性值,不能获取到style ...
- QChartView绘制饼状图
效果图: #include "mainwindow.h" #include "form.h" #include <QApplication> #in ...
- makefile中 = := += 的区别
= 是最基本的赋值 := 是覆盖之前的值 ?= 是如果没有被赋值过就赋予等号后面的值 += 是添加等号后面的值 1.“=” make会将整个makefile展开后,再决定变量的值.也就是说,变量的值将 ...
- bzoj1452
题解: 二位树状数组 然后我开了300*300*300就T了 代码: #include<bits/stdc++.h> using namespace std; ; ],q; int fin ...