python:read,readlines,readline的区别

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
 
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值