总结
1.文件打开
-
打开文件会用到open()函数,语法为:open(name[,mode[,buffering]]);
-
open函数()的文件名是必须的,而模式和缓冲参数都是可选的;
2.mode模式参数常用值有哪些
-
'r'
:只读; -
'w'
:只写,从开头开始写,所以会覆盖文件的内容; -
'a'
:追加,不会覆盖文件内容; -
'x'
:只写,如果文件不存在则创建文件,以只写方式打开文件,保护写; -
'b'
:二进制; -
't'
:文本,是默认的模式,可以不写,一般都是以文本模式打开文件; -
'+'
:读写; -
'r+'
:给只读赋予写的能力; -
'w+'
:给只写赋予只读的能力,因为是以只写的形式打开文件,会清空文件内容,所以不能读取到内容,只是有了读的功能;
3.文件读取
-
读取文件会用到read()函数,用于从文件中读取指定的字符数,如果未给定或为负值则表示读取所有字符;
-
如果文件非常大,尤其是大于内存时,无法使用read()方法;
4.文件指针
-
mode为
r
的时候,指针的起始点在0; -
mode为
a
的时候,指针的起始点在EOF,文件末尾; -
tell()函数:显示指针的当前位置;
-
seek()函数:移动文件指针的位置,参数offset指的是偏移的字节;
-
flush()函数:将缓存刷新到文件;
-
close()函数:关闭文件;
5.文件行读取
-
readline() 函数用于从文件读取整行(包括 "\n" 字符),如果指定了一个非负数的参数,则返回指定大小的字节数(包括 "\n" 字符);
-
readlines() 函数用于读取所有行,且返回值为列表形式;
6.open 文件上下文管理器
-
使用with 关键字来实现上下文管理器;
-
通过上下文管理的方式打开文件,在文件末尾会自动执行关闭语句,不需要写f.close()来关闭文件了;