python之文件操作

python之文件操作

1.需要关注的问题

1.1 read, readline,readlines区别:

read( size): 无参数size读取到文件的末尾,范围为字符串对象,有参数size则读取size个字节;
readline: 每次读取一行,适合用于读取大文件,占用内存少,返回一个字符串对象;
readlines: 读取整个文件的所有行,保存到一个list对象中,每一行作为列表的一个元素,读取大文件会比较占内存;

1.2 python 文件操作模式 r,w,a,r+,w+,a+的区别:

python之文件操作
理解的关键在于记住每对操作模式功能的核心点,"+"只是为了实现读写功能都能实现;
(1) r 和 r+ : 读功能
相同点: a. 能执行读操作 b.不能创建文件 c.操作时不会清空文件 d.打开文件指针在文件开头;
不同点: a.r+可以执行写操作,从开头处覆盖写;
核心点: r的两种操作模式都是实现读功能,所以打开文件是指针在文件开头,且不能创建文件;
(2)w 和 w+: (清空)写功能
相同点: a. 能执行写操作 b.能创建文件 c.清空文件 d.打开文件指针在文件开头;
不同点:a.w+可以执行读操作,由于清空写导致指针在文件末尾,所以要seek(0)调整指针位置才能读;
核心点:w的两种操作模式都是实现清空写功能,所以打开文件是指针在文件开头,写完指针都是在文件末尾;
(3)a 和a+: (追加)写功能
相同点: a. 能执行写操作 b.能创建文件 c.操作时不会清空文件 d.打开文件指针在文件结尾;
不同点:a.a+可以执行读操作,由于追加写导致指针在文件末尾,所以要seek(0)调整指针位置才能读;
核心点:a的两种操作模式都是实现追加写功能,所以打开文件时指针在文件结尾,且写完指针都是在文件末尾;