python中读取文件函数–>read()、readline()、readlines()的区别
关于以上三种函数的区别,下面使用代码将运行结果进行进行比较:
先创建一个00.txt的文本文件,文件内容如下:
111111111
222222222
333333333
444444444
read()
# 使用 read() 函数读取文本内容时:
f = open('00.txt', 'rb')
content1 = f.read()
print(content1.decode('utf-8')) # 打印内容为文本所有内容
print('*'*20)
打印结果为:
111111111
222222222
333333333
444444444
read()是将文本内容全部读取出来的,在内存并非足够大,但是文本内容很多时,不建议使用read(),可能导致内存不够
readline()
f1 = open('00.txt', 'rb')
content2 = f1.readline()
print(content2.decode('utf-8')) # 打印内容为文本第一行内容
print('*'*20)
打印结果:
111111111
打印仅为第一行的文本内容,readline()是每次只读取一行
readlines()
f2 = open('00.txt', 'rb')
content3 = f2.readlines()
for i in content3:
print(i.decode('utf-8'))
打印结果:
111111111
222222222
333333333
444444444
.readlines() 一次读取整个文件,像 .read() 一样,并以列list的形式返回。
总结
read():一次性读取文本的全部内容,并以字符串的形式存储返回
readline(): 一次性只读取文本内容的一行,并以字符串的形式存储返回
readlines(): 一次性读取文本的所有内容,并以列表的形式存储返回
①:在没有足够内存的情况下,可以考虑使用readline(),每次只读取一行,不会太消耗内存;
②:readline()和readlines()相比,前者由于是一行一行读取返回的,所以相较于后者,会慢很多。