一、什么是readlines()函数?
在Python中,文件操作是必不可少的,我们可以使用readlines()函数来读取文件中的所有行并将其储存在列表中。这个函数可以用于打开文本文件,并将文件中的所有行读取到一个列表中;也可以用于迭代处理大文件,一次只读取一行。
二、readlines()函数的语法
f = open("file.txt",'r') lines = f.readlines() f.close()
该函数接受一个可选参数size,用于规定读取的字节数。当size被省略或者为负数时,readlines()会读取整个文件。
三、readlines()函数的实例
1. 读取文本文件
下面的示例读取名为test.txt文件中的行:
filename = "test.txt" with open(filename) as file: lines = file.readlines() for line in lines: print(line.strip())
strip()函数用于移除字符串前后的空格或换行符。
2. 迭代处理大文件
使用readlines()函数读取大文件可能会导致系统内存占用过高,因为它会一次性读取整个文件。更好的方法是每次处理文件中的一行而不是整个文件。
filename = "big_file.txt" with open(filename) as file: for line in file: process(line)
这个方法相对于readlines()函数可以更好地处理大文件:
- 节省内存 - 在每个循环中只读取一行文本内容,可以降低内存的占用。
- 速度快 - 与读取整个文件相比,每次循环读取一行在处理大文件时更快。
3. 读取二进制文件
readlines()函数可以用于打开二进制文件,但需要额外指定打开文件的模式:
filename = "binary_file.bin" with open(filename, "rb") as file: lines = file.readlines()
在打开文件时,需要使用“rb”来指明文件模式。
四、总结
readlines()函数是Python中用于读取文件中文本行的常用函数,可以一次性读取整个文件并将其存入列表中,也可以用于迭代处理大文件。
记住,在使用readlines()函数时需要注意内存占用和速度问题,因为它可能会导致内存占用过高。