复制代码
1
2
3
4
5
6
7a=['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不同的地方:
复制代码
1python中readline()是用来读取文本文件中的一行。
复制代码
1readline 的用法,速度是fileinput的3倍左右,每秒3-4万行,好处是 一行行读 ,不占内存,适合处理比较大的文件,比如超过内存大小的文件。
复制代码
1readlines会把文件都读入内存,速度大大增加,但是木有这么大内存,那就只能乖乖的用readline了。
复制代码
1细节:
复制代码
1readline()每次读取一行,当前位置移到下一行;
复制代码
1readlines()读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素;
复制代码
1read(size)从文件当前位置起读取size个字节(如果文件结束,就读取到文件结束为止),如果size是负值或省略,读取到文件结束为止,返回结果是一个字符串。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13f=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参考:
复制代码
1https://zhidao.baidu.com/question/1765071014605670780.html
复制代码
1http://www.pythontab.com/html/2014/pythonhexinbiancheng_0904/865.html
复制代码
1
最后
以上就是快乐大神最近收集整理的关于python:read,readlines,readline的区别的全部内容,更多相关python:read,readlines,readline内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复