一、open函数
1、打开要操作的文件
2、第一个参数:要打开文件的路径
3、第二个参数:打开文件的方式
r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
二、读文件操作
在同级目录添加一个txt文件,里面随便写点数据,然后开始读文件操作
file=open("aiyou.txt","r")#
#print(file.read())#读取所有数据,可以添加一个参数,就是读几个数据
#print(file.readline())#读取一行数据
print(file.readlines())#读取所有行数据,包括回车
file.close()
三、写文件操作
写操作一般用的a+模式,在后面追加数据,如果是w+模式,会覆盖以前的内容
file=open("aiyou.txt","a+")
file.write("aiyou")
file.close()
四、设置编码
当读的文件有中文时,需要加一下编码格式,encoding
file=open("aiyou.txt","r+",encoding="utf8")
print(file.read())
file.close()
五、tell读取光标所在位置
file=open("aiyou.txt","r+",encoding="utf8")
print(file.read(3))
print(file.tell())
file.close()
运行结果:
aiy
3
六、seek读取文件任意位置
file=open("aiyou.txt","r+",encoding="utf8")
file.seek(3,0)#从头开始往后移动3个位置
print(file.read(3))
file.close()
七、with函数
可以省略操作,比如不用每次操作完后不用再写close函数
with open("aiyou.txt","r",encoding="utf8") as file:
print(file.read())