Key points:
- 搭配 open 的调用格式及参数说明
- read & readline & readlines 使用说明
- 模式‘r’&‘rb’等描述说明
Read方法通常有三种,read, readline 和 readlines 通常和 open 结合使用。
with open (fpath,'r') as f:
pass三种读取方法的详细使用:
f.read()
- 特点是:读取整个文件,将文件内容放到一个字符串变量中。
- 劣势是:如果文件非常大,尤其是大于内存时,无法使用read()方法。
note:read()直接读取字节到字符串中,包括了换行符
fpath = r'D:Deep_learningdata_collectionread.txt'
sentence = []
with open(fpath,'r') as f:
text = f.read()
text
'Readn特点是:读取整个文件,将文件内容放到一个字符串变量中。n劣势是:如果文件非常大,尤其是大于内存时,无法使用read()方法。nread()直接读取字节到字符串中,包括了换行符n'f.readline()
- 特点:readline()方法每次读取一行;返回的是一个字符串对象,保持当前行的内存
- 缺点:比readlines()慢得多
fpath = r'D:Deep_learningdata_collectionread.txt'
sentence = []
with open(fpath,'r') as f:
text = f.readline()
text
'Readn'note:readline() 读取整行,包括行结束符,并作为字符串返回
f.readlines()
特点:一次性读取整个文件;自动将文件内容分析成一个行的列表。
readlines()读取所有行然后把它们作为一个字符串列表返回。
fpath = r'D:Deep_learningdata_collectionread.txt'
sentence = []
with open(fpath,'r') as f:
text = f.readlines()
text
['Readn',
'特点是:读取整个文件,将文件内容放到一个字符串变量中。n',
'劣势是:如果文件非常大,尤其是大于内存时,无法使用read()方法。n',
'read()直接读取字节到字符串中,包括了换行符n']open 通常用的格式:
open( name [, mode[, buffering]])参数说明:
name :一个包含了你要访问的文件名称的字符串值。
mode :mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
buffering :如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
高效的读取文件的方式
以上介绍的文件读取方式都是一次性的把文件全都读入内存,如果是大文件对PC的要求比较高,可以使用迭代读入的方式一次读入一行。
with open (fpath) as f:
if line in f:
pass模式详细描述见下表:

版权声明:本文为weixin_29532075原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。