python read, readline, readlines整理(一)

 

python 在open文件后,通常使用read,readline,readlines等函数读取文件内容,它们的使用你掌握了吗?让我们一起来学习一下。

read():

无参数时,一次性读取整个文件的内容,将读取的字节(包括换行符等)保存到字符串变量中。

read(N)就是读取N个字节。

以ex3.txt为例,其内容如下所示:

由下图可知,read()读取了所有的内容:

由下图可知,read(100)读取了100个字节的内容:

readline():

无参数时,每次读取一整行(包括行结束符)的内容,将读取的字节(包括换行符等)保存到字符串变量中。

readline(N):当N<当前行的字节数时,读取N个字节,此时的效果同read(N)相同;当N>当前行的字节数时,只读取当前行的全部内容,不再往下读取。

示例如下所示:

由下图可知,读取20个字节时,read()与readline()读出的内容相同,读取80个字节时,read()与readline()读出的内容不同。

readlines():

无参数时,一次性读取整个文件,将文件内容分析成一个行的列表:就是每行的内容(包括换行符等)作为一个字符串,不同的行转换成的字符串集合成一个列表。

示例如下所示:

readlines(N) 的参数N官方定义如下

翻译过来就是:“hint确定要读的行数:如果行的总大小(以字节计算)超过了hint的值,就不再继续读取”。

有时候大家不是很清楚到底指的是什么意思。有些人说,为什么我用readlines(2)没有读取第二行的内容呢?

这里hint指的不是行数,而指的是需要读取的字节数的总大小。假设hint=N,readlines()函数会确定第N个字节的数据在哪一行,然后一直读取到该字节的数据所在的当前行为止。

举个例子:

第一行包括换行符的长度为34

那么我们用readlines(33)读取的还是第一行的内容

因为第34个字节是换行符,那么用readlines(34)或readlines(35)就能够读取第一行和第二行的内容了。

通过read等函数读取部分文件后,当前指针在哪里呢?

我们下一节再来讲述。

更多内容,请关注我的微信公众号:EE漫谈

                                                         

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值