文件读取
文本文件中存储的是常规字符串,由文本行组成,每行结尾通常由换行符“\n”结尾。
对文件的操作,通常的流程为:
- 打开文件并创建文件对象。
- 对文件进行读取、写入、删除、修改等操作。
- 关闭文件对象。
open()函数就可以制定模式打开指定文件并创建文件对象,其中,mode默认为r,即读模式,该函数的详细参数如下:
open(file[, mode=’r’[, buffering=-1]],encoding=[])
各数的主要含义如下:
(1) 参数file指定要打开或者创建的文件名称,如果该文件不在当前目录,则需要明确指出绝对路径,Windows下路径使用‘/’或者‘\’。
(2) 参数mode指定打开文件后的处理方式,其中包括:读模式、写模式、追加模式、二进制模式、文本模式、读写模式等。
(3) 参数buffering指定读写文件的缓冲模式,数值0表示不缓存,数值为1表示使用行缓存模式,大于1表示缓冲区的大小,默认值为-1,二进制文件和非交互文本文件以固定大小块为缓冲单位。
(4) 参数encoding指定对文本进行编码和解码的方式。常用的模式的效果,另外加上b,是以二进制模式打开文件:
模式 | r | r+ | w | w+ | a | a+ |
读 | √ | √ | √ | √ | ||
写 | √ | √ | √ | √ | √ | |
创建 | √ | √ | √ | √ | ||
覆盖 | √ | √ | ||||
指针在开始 | √ | √ | √ | |||
指针在结尾 | √ | √ |
读取文件内容
- readable()函数,测试文件是否可读
- read([size]),从文件中读取size个字符,不提供参数读取所有内容。
- readline(),读取文件中的一行内容并返回。
- readlines(),读取文件的所有内容,并放在列表中返回。
文件的写入
向文件中写入内容,再打开文件需要根据需求不同指定不同的模式。
- w:如果文件已经存在,先清空文件内容;如果文件不存在,则创建文件。
- x:创建新文件,如果文件已经存在则抛出异常;
- a:追加模式也是写入模式的一种,不覆盖文件的原始内容。
- writable(),测试文件是否可写。
- write(s),将字符串s的内容写入文件。
关闭文件对象
在使用完文件后,一定要使用close()函数关闭文件对象,释放资源。
使用with语句可以避免因为异常而无法关闭文件对象,造成资源浪费的情况。
with语句执行后会自动管理资源。