1. 使用open()
函数配合readlines()
方法
def read_file_with_readlines():
file = open('example.txt', 'r')
lines = file.readlines()
file.close()
for line in lines:
# 处理每行内容
print(line.strip())
2. 使用with open
语句以及for
循环逐行读取
def read_file_with_with():
with open('example.txt', 'r') as file:
for line in file:
# 处理每行内容
print(line.strip())
3. 内存使用差异
open()
+ readlines()
: readlines()
方法会一次性将文件的所有行读取到内存中,存储为一个字符串列表。如果文件非常大,这可能会导致内存占用过高,甚至引发内存不足的错误。
with open
+ for
循环: 这种方式逐行读取文件内容,每次只在内存中保留当前处理的那一行,大大减少了内存的占用,适合处理大文件。
4. 代码简洁性差异
open()
+ readlines()
: 需要手动打开和关闭文件,如果忘记关闭文件,可能会导致资源泄漏等问题。代码相对繁琐。
with open
+ for
循环: with
语句会在代码块结束时自动关闭文件,无需手动操作,代码更加简洁明了,也更符合Python的编程习惯。