读模式 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+的更多相关文章

  1. python文件读写模式 --- r,w,a,r+,w+,a+,rb,wb

    要了解文件读写模式,需要了解几种模式的区别,以及对应指针 r : 读取文件,若文件不存在则会报错 w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件 a : 写入文件,若文件不存在则会先创建再 ...

  2. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)

    如下表   模式 可做操作 若文件不存在 是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建 是 a 只能写 创建 否,追加写 a+ 可读可写 创建 ...

  3. 正确理解Python文件读写模式字w+、a+和r+

    w+ 和 r+的差别不难理解.还有a+ +同一时候读写,就可以读又可写,边写边读.边读边写,不用flush,用seek 和 tell可測得. fp = open("a.txt", ...

  4. python文件读写及形式转化和CGI的简单应用

    一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...

  5. Python—文件读写操作

    初识文件操作 使用open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了,根据打开文件的方式不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, ...

  6. python 文件读写操作(24)

    以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...

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

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

  8. python 基础 3.1 打开文件 a a+ r+ w+ 详解

      一.python 访问文件   1.在python中要访问文件,首先要打开文件,也就是open ---open   r:  只读   w:  只写 ,文件已存在则清空,不存在则创建   a:追加 ...

  9. Python文件读写 - 文件r+ a+ open读写实际表现[示例]

    先说结论: 文件r+ open: 1. write()不能实现插入写,它总是覆盖写或附加写: 2. 如果文件一打开即write(),则从开头覆盖写; 3. 如果文件一打开,用f.seek()指定文件指 ...

随机推荐

  1. A1125. Chain the Ropes

    Given some segments of rope, you are supposed to chain them into one rope. Each time you may only fo ...

  2. mysql建立索引的几大原则

    (转)仅供自己学习,特此记录 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如,学生表中学号是具有唯一性的字段.为该字段建立唯一性索引可以很快的确定某个学生的信息 ...

  3. easyUI 两个grid表格数据左移右移代码

    做项目中经常遇到选择已有数据,移动到选择好数据grid的场景,比如为项目添加员工,左侧grid是待选择员工,选好后移动到右侧grid,这里我用的jquery-easyui-1.4.2,整理出一份gri ...

  4. Methods for follow-up research of exome analysis:外显子后续分析研究思路总结

    外显子后续分析研究思路一般有以下几种(Methods for follow-up research of exome analysis): 1.对突变频率.突变类型.突变方式进行统计分析 Mutati ...

  5. python列表的常用方法

  6. Counted(内存管理机制)

    class Counted { private: unsigned int count_; public: Counted() : count_() { } virtual ~Counted() { ...

  7. (矩阵快速幂)HDU1575 Tr A

    Tr A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  8. Hadoop生态圈-构建企业级平台安全方案

    Hadoop生态圈-构建企业级平台安全方案 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,估计你对大数据集群的部署对于你来说应该是手到擒来了吧.我之前分享过 ...

  9. 2.抽象工厂(Abstract Factory)

    常规的对象创建方法: //创建一个Road对象 Road road =new Road(); new 的问题: 实现依赖,不能应对“具体实例化类型”的变化.解决思路:    封装变化点-----哪里变 ...

  10. Linux防火墙开放端口

    # vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT -A INPUT - ...