一、文件操作流程
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
二、文件打开模式
1、普通打开模式
- r:只读模式(不加参数则默认只读;不能写,不能追加)
- w:只写模式(只能写、不能读、不能追加;文件不存在则创建,存在则覆盖)
- a:追加模式(不能读;文件不存在则创建,存在则只追加内容)
普通模式不论读、写或者追加,都是按照字符来操作的,所有在操作过程中不需要进行编码(encode)和解码(decode)的动作
(1)、r读
f=open("file",'r',encoding='utf-8') print(f.read()) f.close()
(2)、w写
f=open("file",'w',encoding='utf-8') f.write("wesley") f.close()
(3)、a追加
f=open("file",'a',encoding='utf-8') f.write("wesley") f.close()
2、同时读写模式
“+”号表示同时读写某个文件
- r+:可读写(可读、可写、可追加;不会创建不存在的文件;不管指针在什么位置,依然在文件内容的最后添加内容)
- w+:可读写(可读、可写、可追加;文件存在则覆盖,不存在则创建;必须设置指针为开始位置,才能读取文件)
- a+:可读追加(可读、可追加;不存在则创建;必须设置指针为开始位置,才能读取到文件,追加和写在写入文件时,不会清空之前的内容,在文件的最后添加内容)
(1)、r+
f=open("file2",'r+',encoding='utf-8') print(f.readline()) f.seek(0) #设置指针的位置为开始 print(f.tell()) #获取指针的位置 f.write(" Juses loves you!") f.close() 返回值“ wesley #读取的内容 0 #指针位置
注:不管指针在什么位置,写入的内容依旧在文件的最后
(2)、w+
f=open("file2",'w+',encoding='utf-8') print(f.read()) f.write("Juses loves you! ") f.seek(0) print(f.read()) print(f.tell()) #获取指针的位置 f.write(" Juses loves me!") f.seek(0) print(f.read()) f.close() 返回值: #第一次读的内容 Juses loves you! #第二次读的内容 18 #指针的位置 Juses loves you! #第三次读的内容 Juses loves me!
写入文件的内容如下:
写读,写入的内容不受指针的影响,还是写入在文件的最后一行;首选会创建一个文件,所以