使用open()或pathlib读取文件为字符串,小文件可用read()或Path.read_text(),大文件建议分块读取以避免内存溢出。
在 Python 中,将文件内容读取为字符串是一个常见操作。最直接的方式是使用内置的
open()
函数配合读取方法。以下是几种常用且有效的方法。
1. 使用 read() 读取整个文件
通过
read()
方法可以一次性将文件所有内容读取为一个字符串。
这种方法适合小到中等大小的文件。注意指定正确的
编码
(如 utf-8),避免出现乱码。
2. 按行读取并合并成字符串
如果希望逐行处理文件,但仍要得到一个完整字符串,可以使用
readlines()
或迭代文件对象。
立即学习
“
Python免费学习笔记(深入)
”;
或者更简洁地:
这种方式在处理大文件时可控制内存使用,同时仍能获得字符串结果。
Python 3.14.3
微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。
下载
3. 处理大文件时分块读取
对于非常大的文件,不建议一次性读入内存。可以分块读取并拼接(或流式处理)。
虽然拼接大量字符串效率较低,但若必须得到完整字符串,这种方式可以避免 MemoryError。
4. 使用 pathlib 简化操作(推荐现代写法)
Python 3.4+ 推荐使用
pathlib
模块,语法更简洁。
一行代码完成打开和读取,自动处理文件关闭,代码更安全、清晰。
基本上就这些。选择哪种方式取决于文件大小、编码情况以及代码风格偏好。小文件用
read()
或
Path.read_text()
最方便,大文件注意分块处理。
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
with open('example.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
content = ''.join(lines)
with open('example.txt', 'r', encoding='utf-8') as file:
content = ''.join(file)
content = ''
with open('large_file.txt', 'r', encoding='utf-8') as file:
while chunk := file.read(4096):
content += chunk
from pathlib import Path
content = Path('example.txt').read_text(encoding='utf-8')
