1、读写模式的理解,前面文件讲的很简洁、很清晰,如果不太清楚可以点击【文件的读写模式】了解一下
- 【r】解读:必须有文件,从最开始读
- 【r+】解读:必须有文件,从最开始读,从最开始写(覆盖写)
- 【w】解读:无文件创建,从最开始写(清空写)
- 【w+】解读:无文件创建,从最开始写(清空写),读不到内容(因为w先清空内容了)
- 【a】解读:无文件创建,从末尾写(追加写)
- 【a+】解读:无文件创建,从末尾写(追加写),读不到内容(因为光标在末尾,可用seek移动光标
2、文件读写常用方法
- f.write('string') # 写入字符串 "string",返回值是字符串的长度6。
- f.read() # 从文件读取所有字符串,如果f.read(6)则读取6个字节。
- f.readline() # 从文件读取整行,包括换行符 "" 字符。
- f.readlines() # 读取所有行返回列表,列表元素是每行内容。f.readlines(7) 读取到第7个字节所在行。
- f.flush() # 把内部缓冲区的数据立刻写入文件。
- f.close() # 关闭文件(有写入的功能)。
- f.tell() # 获取光标(指针)位置。
- f.seek(offset, whence) # 设置文件当前光标(指针)的位置。f.seek(0,0) 把光标设置在文件开。offset:偏移量(字节数);whence:可选,默认值为 0。0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起
3、文件读写
文件读写分三步:打开-->读写-->关闭
打开用内置函数open(),参数有很多重点了解常用的三个
open(file, mode='r', encoding=None)
- fill:文件路径
- mode:【读写模式】
- encoding:编码类型
第一种读写方式
第二种读写方式(一般都这样用)
上下文管理器 with as: 资源创建与释放
- with open() as f: 这种方式读写,避免了忘记写关闭文件代码 f.close()。
- with 自动调用 __enter__(),将方法的返回值赋给as后面的变量,相当于 f = open()。
- with 代码块全部执行完毕后,将调用前面返回对象的 __exit__()方法,相当于f.close()。
迭代器方式:占用内存较小,可适用大小文件
读取强烈建议用迭代器方式