Python从第二行到第十五行读取文本文件[关闭]
Posted
技术标签:
【中文标题】Python从第二行到第十五行读取文本文件[关闭]【英文标题】:Python read text file from second line to fifteenth [closed] 【发布时间】:2013-08-27 15:27:36 【问题描述】:我有一个文本文件,我需要从第二行读取到第 15 行,包括。 我尝试了一些方法,但没有一种方法对我有用... 如果有人可以帮助我,我会很高兴... 非常感谢!
【问题讨论】:
【参考方案1】:使用itertools.islice
:
from itertools import islice
with open('filename') as fin:
for line in islice(fin, 1, 16):
print line
【讨论】:
+1 最佳方式。 @AshwiniChaudhary 为什么这是最好的方法?因为islice
使用了生成器表达式?
@thefourtheye islice
是一种从迭代器获取切片的快速且 Python 式的方法,它确实会在迭代器上循环,但在内部以 C 速度发生。
+1 这看起来很优雅。我之前不知道islice
。 itertools
真是宝箱!【参考方案2】:
如果文件不是很大:
with open('/path/to/file') as f:
print f.readlines()[1:15]
【讨论】:
如果文件很大,这会将所有内容加载到内存中。【参考方案3】:Jon's answer 绝对是一种更 Pythonic 和更简洁的方法。
或者,您可以使用enumerate()
:
with open("file", 'r') as f:
print [x for i, x in enumerate(f) if 1 <= i <= 15]
注意,这将遍历文件中的所有行。最好在第 15 行之后打破循环,像这样:
with open("file", 'r') as f:
for i, x in enumerate(f):
if 1 <= i <= 15:
print x
elif i > 15:
break
【讨论】:
【参考方案4】:我认为您可以阅读这些行并获取您需要的行
例如:
with open("a.txt", "r") as text_file:
data = text_file.readlines()
现在data[1]
将位于第二行,data[14]
将位于第 15 行,因此您可以将其分割为 data[1:14]
然后你可以把它们放入一个变量中就可以了
【讨论】:
在with
块中打开文件。以上是关于Python从第二行到第十五行读取文本文件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章