python readline和readlines区别_python 读取txt多行文件内容read和readline和readlines区别...

前提:testSet.txt文件内容

-0.017612   14.053064   0

-1.395634   4.662541    1

-0.752157   6.538620    0

-1.322371   7.152853    0

一、代码:

filename = './testSet.txt'

def loadDataSet():

dataMat = []

labalMat = []

fread = open(filename)

#print(fread.read())

print(fread.readline())

print(fread.readlines())

loadDataSet()

二、打印结果

1、print(fread.readline())打印结果如下:

-0.017612   14.053064   0

2、print(fread.read())打印结果如下:

-0.017612   14.053064   0

-1.395634   4.662541    1

-0.752157   6.538620    0

-1.322371   7.152853    0

3、print(fread.readlines())打印结果

['-0.017612   14.053064   0\n', '-1.395634   4.662541    1\n', '-0.752157   6.538620    0\n', '-1.322371   7.152853    0']

三、分析

1、read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。

2、readline() 方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。readline()方法每次读取一行;返回的是一个字符

串对象,保持当前行的内存

3、readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。如果碰到结束符 EOF 则返回空字符串。

四、使用场景:

1、read()是最快的,当然其功能最简约的,在很多情况下不能满足需求。

2、readline和readlines()在功能上类似,但是在内存足够的情况下使用readlines()可以很明显地提高执行效率。

五、注意事项(易错处)

readLine()

功能:读取一个文本行。

一定要注意:

1、读入的数据要注意有/r或/n或/r/n

2、没有数据时会阻塞,在数据流异常或断开时才会返回null

3、使用socket之类的数据流时,要避免使用readLine(),以免为了等待一个换行/回车符而一直阻塞

4、readLine()是一个阻塞函数,当没有数据读取时,就一直会阻塞在那,而不是返回null

5、readLine()只有在数据流发生异常或者另一端被close()掉时,才会返回null值。

6、如果不指定buffer大小,则readLine()使用的buffer有8192个字符。在达到buffer大小之前,只有遇到”/r”、”/n”、”/r/n”才会返回。

7、该方法读取一行文本,当遇到换行符”\n”,回车符”\r”或者回车符后面紧跟着换行符时,该行结束并返回。没有数据时,将会一直处于等待状态。因此在进行网络连接时,应该避免使用该方法。

read()

功能:读取单个字符的个数,如果已经读完的话会返回-1 (其范围从 0 到 65535 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值