Python文件读写之r+/w+/a+
| 读模式 | r | 打开不存在的文件会报错、不能写;如不指定模式则默认是r |
| 写模式 | w | 打开不存在的文件会,会新建一个文件;打开存在的文件会先清空后覆盖原有文件;不能读 |
| 追加模式 | a | 打开不存在的文件会,会新建一个文件;不能读 |
| 读写模式 | r+ | 能写,打开不存在的文件会报错 |
| 写读模式 | w+ | 能读,但是读不到内容,因为w先把文件内容清空了 |
| 追加读模式 | a+ | 能读,但读不到内容,因为文件指针默认在最后一行,可用seek移动文件指针位置 |
1. r+读写模式
# r+读写模式
f=open('test.txt','r+')
res=f.write('000\n')
res1=f.read()
print(res1) # 原test.txt内容如下:
#
#
# #print输出读取的内容如下:
#
#
# #现test.txt内容如下:
#
#
#
# ##解释说明:
#1. r+新写入的内容会覆盖原文件中的内容,写入几个字符,则覆盖几个字符
#2. r+会从文件开头开始进行文件读写,所以每次写入时,都会从一开始(第一行)进行
#3. \n换行符相当于两个字符
#4. r+写完后,文件指针会停留在新写入的字符后面,所以在read时,只read新写入字符后面的那些内容
#5. 综上所述,新写入的000\n会覆盖原文件中的前5个字符,且read后显示的内容不包含新写入的内容
2. w+写读模式
# w+写读模式
f=open('test.txt','w+')
res=f.write('000\n')
res1=f.read()
print(res1) # 原test.txt内容如下:
#
#
# #print输出读取的内容如下:#空,能读,但是读不到内容,因为w+先把文件内容清空了 #现test.txt内容如下:
#
# ##解释说明:
#1. w+会先清空然后覆盖原文件内容
#2. w+会先将文件里的所有内容都清空,所以读不到任何内容
3. a+追加读模式
# a+读写模式
f=open('test.txt','a+')
res=f.write('000\n')
res1=f.read()
print(res1) # 原test.txt内容如下:
#
#
# #print输出读取的内容如下:#空,能读,但读不到内容,因为文件指针默认在最后一行,用seek移动文件指针位置 #现test.txt内容如下:
#
#
#
# ##解释说明:
#1. a+因为文件指针默认在最后一行字符后,所以写入新字符时,新写入的字符会显示在最后
#2. a+能读,但因为文件指针默认在最后一行,所以读不到内容,显示空
#3. a+可以用seek()移动文件指针位置进行文件的读取
3-1:a+中seek()的运用:在读取文件时,可指定下标从而实现从第几位开始读取文件内容;
注:只针对读取文件,写文件还是只能从最后开始写
f=open('test.txt','a+')
f.seek(5) #此处的seek不起作用,因为对写文件不起作用
res=f.write('hh\n')
f.seek(2) #从下标是2的字符开始读取文件
res1=f.read()
print(res1)
# 原test.txt内容如下:
#
#
#
#print输出读取的内容如下:
#
#
# 789hh
#
#现test.txt内容如下:
#
#
# 789hh
#
Python文件读写之r+/w+/a+的更多相关文章
- python文件读写模式 --- r,w,a,r+,w+,a+,rb,wb
要了解文件读写模式,需要了解几种模式的区别,以及对应指针 r : 读取文件,若文件不存在则会报错 w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件 a : 写入文件,若文件不存在则会先创建再 ...
- python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)
如下表 模式 可做操作 若文件不存在 是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建 是 a 只能写 创建 否,追加写 a+ 可读可写 创建 ...
- 正确理解Python文件读写模式字w+、a+和r+
w+ 和 r+的差别不难理解.还有a+ +同一时候读写,就可以读又可写,边写边读.边读边写,不用flush,用seek 和 tell可測得. fp = open("a.txt", ...
- python文件读写及形式转化和CGI的简单应用
一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...
- Python—文件读写操作
初识文件操作 使用open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了,根据打开文件的方式不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, ...
- python 文件读写操作(24)
以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...
- 一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)
关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.核心功能 ‘r’ ...
- python 基础 3.1 打开文件 a a+ r+ w+ 详解
一.python 访问文件 1.在python中要访问文件,首先要打开文件,也就是open ---open r: 只读 w: 只写 ,文件已存在则清空,不存在则创建 a:追加 ...
- Python文件读写 - 文件r+ a+ open读写实际表现[示例]
先说结论: 文件r+ open: 1. write()不能实现插入写,它总是覆盖写或附加写: 2. 如果文件一打开即write(),则从开头覆盖写; 3. 如果文件一打开,用f.seek()指定文件指 ...
随机推荐
- Django(三)框架之第二篇
https://www.cnblogs.com/haiyan123/p/7717788.html 一.知识点回顾 1.MTV模型 model:模型,和数据库相关的 template:模板,存放html ...
- 第十一节,全连接网络中的优化技巧-过拟合、正则化,dropout、退化学习率等
随着科研人员在使用神经网络训练时不断的尝试,为我们留下了很多有用的技巧,合理的运用这些技巧可以使自己的模型得到更好的拟合效果. 一 利用异或数据集演示过拟合 全连接网络虽然在拟合问题上比较强大,但太强 ...
- HTML学习笔记Day4
一.浮动属性 1.首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流: 无论多么复杂的布局,其基本出发点均是:“如何在一行显示多个div元素”: 显然标准流已经无法满足需求 ...
- hystrix实战
https://blog.csdn.net/Ezreal_King/article/details/72942823
- linux c 编程 ------ 通过设备节点调用驱动
驱动程序如下,加载驱动后,会在/dev文件夹下生成一个文件hello_device_node,是此驱动的设备节点 #include <linux/init.h> #include < ...
- ps: 图层样式;
图层样式是ps的一项图层处理能力,功能强大,能够简单快捷的制作处立体投影,各种质感以及光影效果. 10种图层样式: (1)投影:将为图层上的对象.文本或形状后面添加阴影效果.投影参数由“混合模式”.“ ...
- JavaScript时间日期函数
//随机数生成器Math.random() 装换为整数parseInt() 日期时间函数(需要用变量调用):var b = new Date(); //获取当前时间b.getTime() //获取时间 ...
- maven_问题
问题:was cached in the local repository, resolution will not be reattempted until the update interval ...
- php5.4使用dblib扩展,连接sqlserver中文乱码问题
在使用php链接sqlserver的时候,查询出来的数据,编码不稳定,一会utf8,一会出现问号.很纠结.下面的方法,可以解决此种问题.前提是dblib扩展. 如果查到的结果是乱码,更改/usr/lo ...
- spring-mybatis-springMVC 整合
这是一个spring mybatis springMVC 的整合 里面包括日志,druid,的配置.可以说是一个现成的模板,直接复制下来就能用. 首先是web.xml web.xml 中包括 Spri ...