python中各种文件打开模式
2024-10-03 18:38:19
在python中,总的来说有三种大的模式打开文件,分别是:a, w, r
当以a模式打开时,只能写文件,而且是在文件末尾添加内容。
当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发现读出来的数据为空,是因为a+模式是在文件末尾添加内容,所以其指针已经指到了文件末尾,所以读出来的数据就是空的。
# 在文件末尾添加数据
f = open('test.txt','a+')
f.write('test')
f.close()
# 读出数据为空
f = open('test.txt','a+')
print(f.read())
# 读出数据
f = open('test.txt','a+')
f.seek(0) # 将指针移动到首个字符前
print(f.read())
当以w模式打开时,只能写文件,而且会直接将之前的数据给丢失。
当以w+模式,可读可写,但是如果想读取的内容的话,只能在写内容的时候,同时读取其中的内容,相当于只能读取出你刚刚写入的内容,没有意义
f = open('test.txt', 'w+')
f.write('我不会喜欢你')
f.seek(0)
print(f.read())
f.close()
当以r模式打开文件时,只能读取文件。
当以r+模式打开文件时,可读可写文件。如果是读取文件,会从首个字符开始读取数据,如果是以该模式打开文件,就写数据,则会从首个字符开始写,并一个一个字符的向后面覆盖。如果想从末尾添加内容,则可先read()然后在向其中添加数据。
# 第一次写入内容
f = open('test.txt', 'r+')
f.write('我不会喜欢你') # 内容为:我不会喜欢你
f.close()
# 第二次写入
f = open('test.txt', 'r+')
f.write('其实我')
f.close() # 内容为: 其实我喜欢你 # 第三次写入
f = open('test.txt', 'r+')
print(f.read()) # 内容为: 其实我喜欢你
f.write(', I love you')
f.close() # 内容为: 其实我喜欢你, I love you
自我感觉r+模式可以多加应用。
最新文章
- 隐藏Jquery dialog 按钮
- Magicodes.WeiChat——利用纷纭打造云日志频道
- 来一场说走就走的骑行---23KM的上班探路行动圆满结束
- BZOJ 4318: OSU! 期望DP
- 未能加载文件或程序集“ RevitAPIUI.dll”
- DP思想笔记
- SkylineGlobe 7.0.1 &; 7.0.2版本Web开发 如何正确使用三维地图控件和工程树控件
- ubuntu14.04安装tun/tap网络设备
- Android中使用BufferedReader.readline阻塞读取不到数据,但是ready返回true
- go thrift报错问题--WriteStructEnd
- abp项目中无法使用HttpContext.Current.Session[";";]的问题
- Android--自定义半圆环型进度(带动画)
- centos 下 mysql+keepalived实现双主自由切换
- 用MyEclipse JPA创建项目(二)
- LeetCode题解之Reverse Bits
- ubuntu下如何查看软件安装目录以及安装版本
- 腾讯云 Linux 挂载数据盘
- npm安装出错Unexpected end of input at 1:2307
- github blog
- Jenkins访问路径配置自定义的相对路径