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()指定文件指 ...
随机推荐
- 系统API执行没效果,可以检查一下是否与 360安全卫士 有关?!
今天在写一个工具软件,使用到一个系统API: mouse_event() 代码如下: mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, x2, ...
- django 前端模板继承显示model中使用choices的字段
比如model中的一个class Need class Need(models.Model): """ 任务 """ party_a=mod ...
- Unity 物体移动的理解
Unity通过内置的Input类获取外部输入,具体查看: Editor---Project Setting---Input,常见的输入比如:Vertical.Horizontal.Fire1.Jump ...
- scrapy关键字爬取百度图库(一)
刚入门学习python的菜鸟,如有错误,还望指教 爬取百度图库需要知道百度图库的加载方式是通过下拉加载的,所以我们需要分析Ajax请求来爬取每一页的数据信息 表述不清直接上图片 图片一是刷新页面后加载 ...
- pxc5.7配置安装
pxc5.7配置安装 一.准备工作 # Centos6. 最小化安装操作系统 ########################---- Centos最小化安装推荐常用依赖包---- ######### ...
- 2017-12-14python全栈9期第一天第二节之初始计算机系统
CPU:相当于人的大脑.用于计算 内存:储存数据.4G.8G.32G....成本高.断电即消失 硬盘:固态.机械.长久保存数据+文件 操作系统: 应用程序:
- saltstack API(一) 安装并测试
python3 安装api # 首先安装python3 .tgz cd Python- . ./configure make make install mv /usr/bin/python /usr/ ...
- Sqlserver 数据库定时自动备份
sqlserver 可以通过微软工具 SQL Server Management Studio 进行数据库定时自动备份,具体步骤如下: 1,打开SQL Server Management Studi ...
- Linux记录-salt命令
salt '*id*' test.ping salt -N 组名 cmd.run '' salt -G "ipv4:0.0.0.0" cmd.run '' salt '*i ...
- POJ - 2057 The Lost House(树形DP+贪心)
https://vjudge.net/problem/POJ-2057 题意 有一只蜗牛爬上某个树枝末睡着之后从树上掉下来,发现后面的"房子"却丢在了树上面,.现在这只蜗牛要求寻找 ...