概述
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 方法。
相同的地方:readline和readlines,read都是用来读取文件内容。
不同的地方:
python中readline()是用来读取文本文件中的一行。
readline 的用法,速度是fileinput的3倍左右,每秒3-4万行,好处是 一行行读 ,不占内存,适合处理比较大的文件,比如超过内存大小的文件。
readlines会把文件都读入内存,速度大大增加,但是木有这么大内存,那就只能乖乖的用readline了。
细节:
readline()每次读取一行,当前位置移到下一行;
readlines()读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素;
read(size)从文件当前位置起读取size个字节(如果文件结束,就读取到文件结束为止),如果size是负值或省略,读取到文件结束为止,返回结果是一个字符串。
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是一个字符串变量
追问
那您能不能告诉我,我这个程序为什么出错了吗
追答
在你的程序代码中,显然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个元素的值。
参考:
https://zhidao.baidu.com/question/1765071014605670780.html
http://www.pythontab.com/html/2014/pythonhexinbiancheng_0904/865.html
最后
以上就是快乐大神为你收集整理的python:read,readlines,readline的区别的全部内容,希望文章能够帮你解决python:read,readlines,readline的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复