python逐行读取文件内容的三种方法


Python中逐行读取文件内容的三种常用方法如下:

### 方法一:使用`for`循环直接迭代文件对象

这是最直接且Pythonic的方法。当文件对象被用于`for`循环时,它会逐行迭代文件的内容。


with open('filename.txt', 'r') as file:
    for line in file:
        print(line.strip())  # strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)

### 方法二:使用`readline()`方法

`readline()`方法读取文件的下一行,如果到达文件末尾则返回空字符串。这种方法需要手动管理循环条件。


with open('filename.txt', 'r') as file:
    while True:
        line = file.readline()
        if not line:  # 如果没有读取到内容,即到达文件末尾
            break
        print(line.strip())

### 方法三:使用`readlines()`方法

`readlines()`方法读取文件中的所有行并返回一个列表,其中每个元素都是文件中的一行。然后,你可以遍历这个列表来逐行处理文件内容。尽管这个方法不是直接逐行读取(因为它一次性加载整个文件到内存中),但在某些情况下仍然很有用。


with open('filename.txt', 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

请注意,如果文件非常大,使用`readlines()`方法可能会消耗大量内存,因为整个文件内容都会被加载到内存中。在这种情况下,推荐使用前两种方法。