玖叶教程网

前端编程开发入门

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等函数读取部分文件后,当前指针在哪里呢?

我们下一节再来讲述。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言