readlines函数_python read,readline,readlines吐血整理(一)

65c1959b2cad4882748fc099b5007728.png

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

read():

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

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

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

1528a815a6f9e79ff747c9baa6c942b4.png
d26907817857b3c770b37bcf8914062b.png

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

6993f035a9c7072424619a481e46d87f.png

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

a955aaa4ac48f8af4ba2755ebe037336.png

readline():

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

readline(N):当N当前行的字节数时,只读取当前行的全部内容,不再往下读取。

示例如下所示:

ee77a1443871d229764f8c86dea7b5e3.png

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

68a42a71d456ffb692f2ab6bc587fa96.png

readlines():

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

示例如下所示:

d22b00a7ca2c3049debf9a6bfe33ba2a.png

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

c9eb7d2404b6017562d053c9d1a15279.png

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

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

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

举个例子:

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

fe202eb2ac241b0af1f60c4bac056be0.png

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

0657ba4c53f08030eed7f9e405935683.png

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

fb6e977621a17ca2c12ba52ece0d6f0d.png

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

我们下一节再来讲述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值