文件读写操作
程序员文章站
2023-11-28 14:46:04
文件的读写操作 一般来说文件的读写分三步: 在读取或写入文件之前,必须使用python的内置open()函数打开文件。此函数将创建一个文件对象,该对象将用于调用与其相关联的其他支持方法 file_name参数是一个字符串值,对指定要访问的文件名称 access_mode确定文件的打开模式,即读取写入 ......
文件的读写操作
一般来说文件的读写分三步:
- 打开文件
- 对文件进行读写操作
- 关闭文件
语法:
file_object = open(file_name[,access_mode][,buffering])
文件读写操作...
file_object.close()
- 在读取或写入文件之前,必须使用python的内置open()函数打开文件。此函数将创建一个文件对象,该对象将用于调用与其相关联的其他支持方法
- file_name参数是一个字符串值,对指定要访问的文件名称
- access_mode确定文件的打开模式,即读取写入,追加等。
- buffering如果buffering值设置为0,则不会发生缓冲。如果buffering设置为1时,则在访问文件时执行缓冲。若为大于1的整数时,则进行与之缓冲效果不等的操作。若为负数,缓冲为系统默认值。
- 文件对象的close()方法刷新任何未写入的信息并关闭文件对象,之后不能再进行写入操作。
如:
#我爱中国.txt--->i love china
file_object = open("我爱中国.txt",mode="r+",enconding="utf-8")
r = file_object.read()
w = file_object.write("\n中国繁荣富强")
print(r,w)
file_object.close()
i love china
中国繁荣富强
打开文件使用模式[mode]的列表:
编号 |
模式 |
描述 |
1 |
r |
打开的文件为只读模式 |
2 |
rb |
打开仅用二进制格式读取的文件 |
3 |
r+ |
打开读写文件 |
4 |
w |
打开仅供写入的文件。如果文件存在,则覆盖该文件,不存在则创建一个新文件进行写入,写的时候从最后开始写 |
5 |
wb |
打开仅用二进制格式供写入的文件。如果文件存在,则覆盖该文件,不存在则创建一个新文件进行写入,写的时候从最后开始写 |
6 |
w+ |
打开写入和读取的文件。如果文件存在,则覆盖该文件,不存在则创建一个新文件进行写入,写的时候从最后开始写 |
7 |
a |
打开一个文件进行追加。如果文件存在,则文件指针位于文件末尾进入追加模式,不存在则创建一个新文件进行写入 |
8 |
ab |
打开一个二进制文件进行追加。如果文件存在,则文件指针位于文件末尾进入追加模式,不存在则创建一个新文件进行写入 |
9 |
a+ |
打开一个二进制文件进行追加和阅读。如果文件存在,则文件指针位于文件末尾进入追加模式,不存在则创建一个新文件进行写入 |
read([count]):读取文件,若有参数count则从文件指针开始读取字节数(字节数的多少取决于count的大小)
write():写入想要写入的内容
tell():用于调节和获取文件指针的位置,下次读取或写入将从文件开始多少个字节数开始
seek(offset[,from]):offset参数表示要移动的字节数。from参数指定要移动字节的引用位置,设置0,文件开头作为参考位置。设置1,文件当前位置作为参考位置,设置2,文件结尾作为参考位置
另一种文件打开的方式:
可以打开多个文件进行操作且with在不需要访问文件时将其关闭
#我爱中国.txt--->i love china
file_object1 = "我爱中国.txt"
with open(file_object1,"r+",enconding="utf-8") as file,open(file_object2,"r+",enconding="utf-8")
r = file.read()
w = file.write("\n中国繁荣富强")
print(r,w)
i love china
中国繁荣富强
对文件进行操作最高效的方法:
for line in file:
print(line)