我是靠谱客的博主 快乐大神,这篇文章主要介绍python:read,readlines,readline的区别,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
a=['dewe','dsefwe','seww'] 搜索>>> print(a.readline()) Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> print(a.readline()) AttributeError: 'list' object has no attribute 'readline' 注意:这里只有文件对象可以使用read 方法。
复制代码
1
相同的地方:readline和readlines,read都是用来读取文件内容。
复制代码
1
2
不同的地方:
复制代码
1
python中readline()是用来读取文本文件中的一行。
复制代码
1
readline 的用法,速度是fileinput的3倍左右,每秒3-4万行,好处是 一行行读 ,不占内存,适合处理比较大的文件,比如超过内存大小的文件。
复制代码
1
readlines会把文件都读入内存,速度大大增加,但是木有这么大内存,那就只能乖乖的用readline了。
复制代码
1
细节:
复制代码
1
readline()每次读取一行,当前位置移到下一行;
复制代码
1
readlines()读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素;
复制代码
1
read(size)从文件当前位置起读取size个字节(如果文件结束,就读取到文件结束为止),如果size是负值或省略,读取到文件结束为止,返回结果是一个字符串。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
f=open("myfile") while True: line=f.readline() if line: print line, else: break f=open("myfile") lines=f.readline() #lines是一个列表变量 f=open("myfile") lines=f.read() #lines是一个字符串变量
追问
复制代码
1
那您能不能告诉我,我这个程序为什么出错了吗
追答
复制代码
1
2
3
4
5
6
7
8
在你的程序代码中,显然a是一个列表对象,列表对象是没有readline()方法的,执行a.readline()就会出错。 如果你要打印a的内容,调用 print(a) 如果你要打印a内每个元素的内容,参考以下代码: a=['dewe','dsefwe','seww'] for x in a: print x 如果要得到a中第一个元素的值,使用a[0]。索引是从0开始的,a[n]表示第n+1个元素的值。
复制代码
1
复制代码
1
参考:
复制代码
1
https://zhidao.baidu.com/question/1765071014605670780.html
复制代码
1
http://www.pythontab.com/html/2014/pythonhexinbiancheng_0904/865.html
复制代码
1

最后

以上就是快乐大神最近收集整理的关于python:read,readlines,readline的区别的全部内容,更多相关python:read,readlines,readline内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部