在 Python 中读取本地文本文件有多种方法,以下是几种常见的实现方式:
方法 1:使用 open() 和 read()(读取整个文件内容)
python
# 读取整个文件内容为字符串
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
方法 2:逐行读取(返回列表)
python
# 读取所有行,返回字符串列表
with open('example.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # strip() 移除行尾换行符
方法 3:迭代文件对象(内存高效)
python
# 逐行读取(推荐大文件处理)
with open('example.txt', 'r', encoding='utf-8') as file:
for line in file:
print(line.strip())
方法 4:读取指定字节数
python
# 读取前100个字符
with open('example.txt', 'r', encoding='utf-8') as file:
chunk = file.read(100)
print(chunk)
方法 5:使用 pathlib(Python 3.4+)
python
from pathlib import Path
# 一次性读取整个文件
content = Path('example.txt').read_text(encoding='utf-8')
print(content)
# 逐行读取
lines = Path('example.txt').read_text(encoding='utf-8').splitlines()
for line in lines:
print(line)
关键参数说明:
文件模式:
'r':只读(默认)
'rb':二进制模式
'r+':读写模式
编码:
encoding='utf-8'(推荐)
encoding='gbk'(处理中文文本)
encoding='latin-1'(通用性强但可能乱码)
方法 1:使用 open() 和 read()(读取整个文件内容)
python
# 读取整个文件内容为字符串
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
方法 2:逐行读取(返回列表)
python
# 读取所有行,返回字符串列表
with open('example.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # strip() 移除行尾换行符
方法 3:迭代文件对象(内存高效)
python
# 逐行读取(推荐大文件处理)
with open('example.txt', 'r', encoding='utf-8') as file:
for line in file:
print(line.strip())
方法 4:读取指定字节数
python
# 读取前100个字符
with open('example.txt', 'r', encoding='utf-8') as file:
chunk = file.read(100)
print(chunk)
方法 5:使用 pathlib(Python 3.4+)
python
from pathlib import Path
# 一次性读取整个文件
content = Path('example.txt').read_text(encoding='utf-8')
print(content)
# 逐行读取
lines = Path('example.txt').read_text(encoding='utf-8').splitlines()
for line in lines:
print(line)
关键参数说明:
文件模式:
'r':只读(默认)
'rb':二进制模式
'r+':读写模式
编码:
encoding='utf-8'(推荐)
encoding='gbk'(处理中文文本)
encoding='latin-1'(通用性强但可能乱码)