读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)
一、打开文件
1.打开文件
首先,你需要使用 open()
函数打开文件。这个函数返回一个文件对象,你可以使用它来调用各种文件操作的方法。open()
函数的第一个参数是文件名(可以包含路径),第二个参数是模式,指定如何打开文件。常用的模式有:
'r'
:读取模式(默认)'w'
:写入模式,如果文件已存在则覆盖'a'
:追加模式,写入的数据会被追加到文件末尾'b'
:二进制模式(可与其他模式组合使用,如'rb'
或'wb'
)'+'
:读写模式(可与其他模式组合使用,如'r+'
表示读写模式
open():
fp= open('example.txt', 'r',encoding="utf8")
fp.close()#关闭文件
单使用open,读写完后记得关闭文件。
with open():
with open("./data.txt", "r", encoding="utf8") as fp:
用with open不用关闭文件(一次性能操作完使用,使用后会自动关闭)
2.读取文件
一旦文件被打开,就可以使用文件对象的 read()
、readline()
或 readlines()
方法来读取文件内容。
fp = open('example.txt', 'r', encoding="utf8")
# read 不传参 取所有数据
# read 传参 取几个字符
# 读取时候 如果同一次读取 就继续往后读
print(fp.read(1))
print(fp.read(1))
print(fp.readline())
print(fp.readline())
fp.close()
3.写入文件
写入文件时,你需要以写入模式('w'
)或追加模式('a'
)打开文件,并使用文件对象的 write()
或 writelines()
方法写入数据。
f2 = open("example.txt", "w", encoding="utf8")
# 写文件
# write 往里写入字符串
f2.write("nihao helloworld\n")
print(f2.writable())
f2.writelines("nihao")
# writelines可以写入字符串列表 把列表合并成大字符串
f2.writelines(["asdad", "dasdadada", "\n", "eeeeee"])
f2.close()
注意!!!!!!:
- 使用
with
语句打开文件可以确保文件正确关闭,即使在读写文件时发生异常也是如此。 - 写入模式(
'w'
)会覆盖文件原有内容,如果只想在文件末尾添加内容,请使用追加模式('a'
)。 - 读取文件时,Python 默认以文本模式打开文件。如果需要处理二进制数据(如图片或视频文件),请指定二进制模式(如
'rb'
或'wb'
)。 - 文件读写操作完成后,请确保关闭文件以释放系统资源。使用
with
语句可以自动帮你完成这一步。