很多人都知道python中文件的读取有这三种方式,但是对于初学者来说分不清楚什么时候该用哪个方法,各自有什么特性,用的时候应该注意什么,我这个小菜鸟就来稍微介绍一下:
假设有一个文件名为dashu.txt文件,内容如下:
“ hello dashu
apple
water
”
总共有3行内容
一、
read([size])方法:
这个方法比较的简单,意思就是从文件的开始位置读取size个字节的内容,如果read()中没有带参数的话那么就是读取至整个文件结束,所以比较适合小型文件,把读取的东西放在一个字符串中,返回的是一个字符串,为了读者能够理解的更加的清楚,就举个简单的栗子吧
a=open("dashu.txt")
lines=a.read()
print lines
print(type(lines))
a.close()
输出的结果为:
hello dashu
apple
water
<type 'str'> #字符串类型
二、
readline()方法:
从单词的字面意思我们就可以很好的理解,readline读取一行的意思,所以这个方法是一行一行的读取,比较适合大型文件成千上百行的那种,此方法返回一个字符串对象。
a=open("dashu.txt")
lines=f.readline()
print(type(lines))
while lines:
print lines
lines=f.readline()
a.close()
输出结果为:
<type 'str'>
hello dashu
apple
water
注意这个结果和上面的是有区别的,因为我们放在while循环中,其实这是循环了三次输出的结果,因为文件中有3行,有几行就会循环几次,再一行一行的输出。
三、
readlines()方法,这个方法是读取文件的所有行,把结果保存在一个列表(list)中,每一行都作为列表的一个元素,不适合读取成千上万行的文件,因为可能会卡死也会比较占内存。
a=open("dashu.txt")
lines=f.readline()
print(type(lines))
for line in lines:
print(line)
a.close()
输出结果:
<type 'list'>
hello dashu
apple
water
哈哈,这就是三个方法的区别,最后强调一句,文件打开了一定要记得用close()方法将文件关闭,同时希望这篇文章对大家的学习能够带来帮助!