文件处理中readline(n)与readlines(n)括号中的参数代表的意义

 

文章目录

 


前言

在进行文件操作时,经常使用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)

上一篇:‘gbk‘ codec can‘t decode byte 0xaf in position 12: illegal multibyte sequence


下一篇:文件操作