免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5286 | 回复: 3
打印 上一主题 下一主题

readlines() 参数问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-30 10:11 |只看该作者 |倒序浏览
本帖最后由 aingwen 于 2014-09-30 10:15 编辑
  1. def fy():   #显示3行
  2.     x = raw_input("请输入文件: ")
  3.     with open(x) as f:
  4.         t = f.readlines(3)
  5.         for line in t:
  6.             print line
  7.     return
  8. fy()
复制代码
这段代码我只想显示输入文本的3行,结果却显示出文本的所有行出来,这是为什么?  readlines(3) 不是表示读入3行吗?

论坛徽章:
9
2015亚冠之阿尔纳斯尔
日期:2015-09-10 16:21:162015亚冠之塔什干火车头
日期:2015-07-01 16:23:022015年亚洲杯之巴勒斯坦
日期:2015-04-20 17:19:46子鼠
日期:2014-11-13 09:51:26未羊
日期:2014-08-28 18:13:36技术图书徽章
日期:2014-02-21 09:30:15酉鸡
日期:2014-01-14 11:12:49天蝎座
日期:2013-12-09 17:56:53平安夜徽章
日期:2015-12-26 00:06:30
2 [报告]
发表于 2014-09-30 10:48 |只看该作者
  1. readlines(n)
  2. n不是读入的行数,而是一次读入到缓存的字节数.
复制代码

论坛徽章:
0
3 [报告]
发表于 2014-09-30 11:02 |只看该作者
回复 2# HH106
这里我发现把这个参数改成50 或者 500000它都会返回文本全部内容,参数就没起到作用


   

论坛徽章:
0
4 [报告]
发表于 2014-10-03 16:19 |只看该作者

file.readlines([sizehint])¶

    Read until EOF using readline() and return a list containing the lines thus read. If the optional sizehint argument is present, instead of reading up to EOF, whole lines totalling approximately sizehint bytes (possibly after rounding up to an internal buffer size) are read. Objects implementing a file-like interface may choose to ignore sizehint if it cannot be implemented, or cannot be implemented efficiently.


这是一个sizehint不是size,并且是rounding up,你需要知道系统的默认buffer size是多大:
import io
print io.DEFAULT_BUFFER_SIZE

很有可能你单个文件的大小没超超过buffer
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP