python中 read() 、readline() 与 readlines()的用法

分别用这三个函数读取 myfile.txt 。 myfile.txt 中的内容是拜伦的《她以绝美之姿行来》(节选):

她以绝美之姿行来,犹如夜晚

晴空无云,繁星灿烂;

那最绝妙的光明与黑暗,

均汇聚于她的丰姿与眼底,

交织成如许温柔光辉,

是浓艳的白昼所无缘得见。



read()

with open('myfile.txt','r') as f:

    poem = f.read()

     print(poem,'\n',type(poem))

打印结果:

她以绝美之姿行来,犹如夜晚 晴空无云,繁星灿烂; 那最绝妙的光明与黑暗, 均汇聚于她的丰姿与眼底, 交织成如许温柔光辉, 是浓艳的白昼所无缘得见。

<class 'str'>

read() 函数不指定参数的话,会将文件一次性读完,并返回一个 str  ;

如果指定参数如 read(5) 则只会读取前 5 个字符,并返回一个 str,在读取大文件时一般都要指定参数进行分次读取。

readline()

with open('myfile.txt','r') as f:

     poem = f.readline()

     print(poem,'\n',type(poem))

打印结果:

她以绝美之姿行来,犹如夜晚

<class 'str'>

用法:readline()不指定参数的话一次读取一行(即遇到换行符就停止读取),返回一个 str 。

指定参数如 readline(5) 的话就读取前5个字符。但与 read(5) 不同的是,如果前 5 个字符中有换行符,它只会读取换行符前的字符(也就是只读取一行)。

readlines()

with open('myfile.txt','r') as f:

     poem = f.readlines()

     print(poem,'\n',type(poem))

打印结果:

['她以绝美之姿行来,犹如夜晚 \n', '晴空无云,繁星灿烂; \n', '那最绝妙的光明与黑暗, \n', '均汇聚于她的丰姿与眼底, \n', '交织成如许温柔光辉, \n', '是浓艳的白昼所无缘得见。']

<class 'list'>

用法:readlines()不指定参数的话会一次地将文件读完,并返回一个列表。列表的第一个元素是文件的第一行,第二个元素是第二行……

 readlines()若指定参数如 readlines(5) ,并不是读取 5 行.....如下所示

readlines(5)

打印结果:

['她以绝美之姿行来,犹如夜晚 \n']

这里的 5 是字符数量。当读取的字符数量大于 5 时就停止读取,否则继续读取下一行。这里第一行的字符数量超过了 5 个,就停止读取了。


总结:

在读取大文件时,使用 read(size) 逐次读取 。

在读取存储 url 的文件时,使用 readlines() 刚好可以生成一个列表,方便处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python中读取文件常用的三种方法:read(),readline(),readlines().今天看项目是又忘...
    大阿拉伯人阅读 42,531评论 3 16
  • 基于字符读写 最基本的文件操作当然就是在文件中读写数据。这也是很容易掌握的。现在打开一个文件以进行写操作: 1. ...
    IT小白1002阅读 1,038评论 0 1
  • 文件打开方法: open(name,mode,buf) name:文件路径 mode:打开方式 文件读取方式: r...
    江魁阅读 585评论 0 0
  • Since Jan.26th,2016 1、ubuntu 下运行 python 的几种方式 在 terminal...
    Rco阅读 2,605评论 0 2
  • 我多么想清晰地知道活着的目的,那样我就会知道做每一件事的目的,并尽全力好好的去做! 不同时期我们因社会和家庭产生不...
    赋绿阅读 223评论 0 0