在Python中,使用迭代器逐行读取文本文件是一种常见且高效的方法。你可以使用内置的`open()`函数打开文件,并直接将其作为迭代器使用 ,每次迭代返回文件的下一行。当到达文件末尾时,迭代器会引发一个`StopIteration`异常,此时可以停止循环。
以下是使用迭代器逐行读取文本文件的示例:
```python # 打开文件,使用'r'模式表示读取模式 with open('example.txt', 'r') as file: # 使用for循环迭代文件对象,每次迭代返回文件的一行 for line in file: # 处理每一行 print(line.strip()) # 使用strip()去除行尾的换行符 ```
在上面的代码中:
- 使用`with`语句和`open()`函数以读取模式(`'r'`)打开文件`example.txt`。 - `file`对象是一个迭代器,`for`循环遍历这个迭代器,每次循环`line`变量会被赋予文件的下一行内容。 - `print(line.strip())`打印处理后的行内容,`strip()`方法用于去除字符串首尾的空白字符,包括`\n`换行符。
### 注意事项:
- 确保文件路径正确,且文件具有可读权限。 - 使用`with`语句可以确保文件在操作完成后正确关闭,即使发生异常也是如此。 - 如果文件很大,逐行读取是一种内存高效的方法,因为它不需要一次性将整个文件加载到内存中。 - 如果需要处理二进制文件,应以二进制模式(`'rb'`)打开文件,并在迭代时处理二进制数据。
逐行读取文本文件是处理文本数据的基本技术,适用于日志文件、CSV文件、大文本数据等场景。