python学习笔记之--read、readline和readlines

python读取文件有三种方法:read()、readline()、readlines(),下面来看一下他们有什么区别:

a.txt

黑色幽默
安静
python

一、read([size])方法

  • 一次性读取全部内容;
  • size为读取的长度,以byte为单位,如果不指定参数,则表示读取全部;
  • 返回字符串;
  • 并且每一行结尾会有一个" "符号。
>>> fp=open(r"e:a.txt")
>>> line=fp.read()
>>> line
'黑色幽默
安静
python'
>>> type(line)
<class 'str'>        #返回的是字符串
>>> fp.seek(0,0)
0
>>> line1=fp.read(10)    #读取10个字节
>>> line1
'黑色幽默
安静
py'
>>> fp.close()

二、readline()方法

  • 每次读取一行内容;
  • 如果给定了size,有可能返回的只是一行的一部分(超过一行也只会返回一行);
  • 以字符串的形式返回
  • 并且结尾会有一个换行符" ";
  • 读完一行,文件操作标记移动到下一行的开头;
  • 读取时占用内存小,比较适合大文件。
>>> fp=open(r"e:a.txt")
>>> line=fp.readline()
>>> line
'黑色幽默
'
>>> type(line)
<class 'str'>       #返回的字符串
>>> fp.seek(0,0)
0
>>> line1=fp.readline(10)   #指定的size超过一行内容还是返回一行内容
>>> line1
'黑色幽默
'
>>> fp.close()

三、readlines()方法

  • 读取整个文件所有行;
  • 把文件每一行作为一个list的一个成员,是一个字符串,并返回这个list;
  • 如果指定了size参数,表示读取文件指定内容的长度,此时就有可能只能读取文件的一部分(注:指定很小的数字,会不生效,python 默认8k缓存区大小,需要大于8k生效)
  • 并且结尾会有一个换行符" "
>>> fp=open(r"e:a.txt")
>>> line=fp.readlines()
>>> line
['黑色幽默
', '安静
', 'python']
>>> type(line)
<class 'list'>        #返回的是一个list
>>> fp.seek(0,0)
0
>>> line1=fp.readlines(5)   #指定size读取
>>> line1
['黑色幽默
', '安静
']
>>> fp.close()
 
原文地址:https://www.cnblogs.com/wenm1128/p/11646431.html