最推荐使用文件对象迭代器逐行读取,内存占用小且效率高;对于大文件应避免readlines()以防内存溢出,可结合strip()去除换行符、指定encoding处理编码问题,用next(f)跳过标题行,或通过条件判断筛选含关键词的行。

Python读取文件每一行,核心在于利用Python提供的文件对象迭代器或者
readlines()
readline()
Python读取文件每一行的方法有很多,这里提供几种常见的,并分析它们的优缺点。
对于大文件,一次性加载到内存显然不可取。最推荐的方式是使用文件对象的迭代器。
with open('large_file.txt', 'r') as f:
for line in f:
# 处理每一行,例如打印
print(line.strip()) # 去除行尾的换行符这种方式的优点是内存占用极小,因为它每次只读取一行。
with
line.strip()
立即学习“Python免费学习笔记(深入)”;
readlines()
readlines()
with open('small_file.txt', 'r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())readlines()
readline()
readline()
with open('file.txt', 'r') as f:
line = f.readline()
while line:
print(line.strip())
line = f.readline()这种方式和迭代器类似,但需要手动调用
readline()
如果文件不是UTF-8编码,可能会遇到
UnicodeDecodeError
with open('encoded_file.txt', 'r', encoding='gbk') as f: # 假设文件是GBK编码
for line in f:
print(line.strip())你需要根据文件的实际编码来选择正确的
encoding
utf-8
gbk
latin-1
有时,文件的前几行可能是标题或者注释,需要跳过。
with open('file_with_header.txt', 'r') as f:
next(f) # 跳过第一行
next(f) # 跳过第二行
for line in f:
print(line.strip())next(f)
f
next(f)
有时候,我们只需要处理包含特定关键词的行。
keyword = 'example'
with open('file.txt', 'r') as f:
for line in f:
if keyword in line:
print(line.strip())这个例子中,只有包含关键词 "example" 的行才会被打印出来。你可以根据实际需求修改关键词和处理逻辑。
以上就是Python怎么读取文件的每一行_Python文件逐行读取方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号