文章目录
前言
在进行文件操作时,经常使用readline()和readlines()进行文件的读取操作,括号中的参数具体所代表的意义很容易被人所忽略,下面运用具体的代码实例给大家具体演示readline()和 readlines()参数所代表的具体意义
二、具体操作
1.建立读取的文件:
[root@localhost lianxi]# cat test1.txt
123
abc
456
li
lu
liu123
2.使用readline()读取文件
>>> with open("test1.txt","r+") as f:
readline()不加参数时默认读取一整行数据
... f.readline()
'123\n'
添加的参数小于要读取的一行中字符的个数时,只读取我们所写入的参数的字符个数
... f.readline(2)
'12'
添加的参数大于要读取的一行中字符的个数时,只会读取该行中所有的字符,不会读取到后面的行中
... f.readline(5)
'123\n'
... f.readline(10)
'123\n'
3.使用readlines()读取文件
>>> with open("test1.txt","r+") as f:
readlines()不加参数时默认读取文件中的所有内容,并放在一个列表中
... f.readlines()
['123\n', 'abc\n', '456\n', 'li\n', 'lu\n', 'liu123\n']当传入参数时,从第一个字符开始读取,直到我们所传入的参数的数值处,最后一个读取的字符在那一列就读取该列以及前面列中的所有内容
传入参数1,读取第一个字符所在的所有数据
... f.readlines(1)
['123\n']传入参数5,读取到的最后一个字符在第二行,则读取一二行中的所有数据
... f.readlines(5)
['123\n', 'abc\n']传入参数10,读取到的最后一个字符在第三行,则读取前三行中的所有数据
... f.readlines(10)
['123\n', 'abc\n', '456\n']传入参数10,读取到的最后一个字符超过文件的中的所有字符数,则读取文件中的所有数据
... f.readlines(50)
['123\n', 'abc\n', '456\n', 'li\n', 'lu\n', 'liu123\n']
总结
文件读取中使用带参数的readline()和readlines()方法多用于读取超大文件的操作,指定一次读取一定量的文件数,防止产生内存溢出(out of memory)