本文主要写python对文本文件的读写(阅读,写入,追加,覆盖)。
一.open函数
读写文件前首先要打开文件,open()是python的内置函数,它会返回一个文件对象,这个文件对象拥有read、readline、readlines,write、close等方法。
file=open('filepath','mode',encoding="utf-8")
filepath 指的是文本文件存储的路径
mode 指打开文件的模式,如只读、追加、写入,覆盖等
r | 读 | 若文件不存在就报错 |
w | 写,覆盖写 | 若文件不存在就创建 |
a | 追加 | 若文件不存在就创建 |
r+ | r+w | 可读可写,文件若不存在就报错(IOErroer) |
w+ | w+r | 可读可写,文件若不存在就创建 |
a+ | a+r | 可追加可写,文件若不存在就创建 |
*如果是二进制文件,就都加一个b :'rb', 'wb', 'ab', 'rb+', 'wb+', 'ab+'
二.read()方法
当使用open函数打开文件后,就可以使用该文件对象的方法了,read就是其中一种。
read()会读取一些数据并将其作为字符串(在文本模式中)或字节对象(在二进制模式中)返回。
file=open('filepath','mode')
content=file.read()
print(conent)
三.close方法
打开文件并处理完毕后,需要关闭文件,这里用到close方法。file.close() 用来关闭文件并立即释放它使用的所有系统资源。如果你没有显式地关闭文件,Python的垃圾回收器最终将销毁该对象并为你关闭打开的文件,但这个文件可能会保持打开状态一段时间。应该要养成使用close()的习惯。
file=open('filepath','mode')
file.close
四.readline()方法
readline方法从文件中读取整行,包括换行符’\n’。
换行符(\n)留在字符串的末尾,如果文件不以换行符结尾,则在文件的最后一行省略,这使得返回值明确无误。
如果 f.readline() 返回一个空的字符串,则表示已经到达了文件末尾,而空行使用 ‘\n’ 表示,该字符串只包含一个换行符。
with open('a.txt') as f:
print(f.readline())
print(f.readline(5))
f.close()
五.readlines()方法
readlines方法和readline方法长得像,但功能不一样,前面说过readline方法只读取一行,readlines方法则是读取所有行,返回的是所有行组成的列表。
with open('a.txt') as f:
print(f.readlines())
f.close()
六.with关键字
使用with实现自动打开自动关闭文件。
代码
#1.读取一段话
file=open("a.txt","r",encoding="utf-8")
conent=file.read()
print(conent)
file.close()
#2.写入一段话(覆盖写入)
file=open("a.txt","w",encoding="utf-8")
file.write("这是覆盖写入的话")
file.close()
#3.追加写入一段话
file=open("a.txt","a",encoding="utf-8")
file.write("\n这是追加写入的一段话")
file.close()
#使用with实现自动打开自动关闭文件
with open("b.txt",'r',encoding="utf-8")as file:
conent = file.read()
print(conent)
with open("b.txt","w",encoding="utf-8")as file:
file.write("这是覆盖写入的话")
with open("b.txt","a",encoding="utf-8")as file:
file.write("\n这是追加写入的一段话")