首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python -从文本文件抓取行,x-y行

Python -从文本文件抓取行,x-y行
EN

Stack Overflow用户
提问于 2014-07-21 02:25:00
回答 5查看 702关注 0票数 0

抓取文本文件前10行的方法可以这样做:

代码语言:javascript
运行
复制
with open("myfile.txt") as myfile:
        lines = [next(myfile).strip() for x in xrange(10)]

这将打印前10行

但如果我只想要5-10行呢?我该怎么做?文件不小,会很大。我需要一个有效的方法来做这件事。

谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-07-21 02:29:33

到目前为止,最简单的方法是使用itertools.islice

代码语言:javascript
运行
复制
with open('myfile.text') as f:
    lines = islice(f, 5, 11)

这一点的好处是它永远不会加载整个文件;它只会做它需要做的工作。

请注意,itertools中的函数很懒,所以您需要在关闭文件之前完成对行的处理,或者将islice包装在list()中强制求值。

票数 1
EN

Stack Overflow用户

发布于 2014-07-21 02:27:57

把你已经有的单子切了怎么样。

代码语言:javascript
运行
复制
with open("myfile.txt") as myfile:
    lines = [next(myfile).strip() for x in xrange(10)][5:10]
票数 0
EN

Stack Overflow用户

发布于 2014-07-21 02:31:01

例如,如果您知道要从何处开始,只需更改for循环中的范围。

代码语言:javascript
运行
复制
var1 = 5
var2 = 10
for x in range(var1, var2):

会从5循环到10,当然你可以进一步调整变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24856901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档