16

我有一个文本文件,我需要从第二行读取到第 15 行,包括。我尝试了一些方法,但没有一种方法对我有用……如果有人能帮助我,我会很高兴……非常感谢!

4

4 回答 4

39

使用itertools.islice

from itertools import islice
with open('filename') as fin:
    for line in islice(fin, 1, 16):
        print line
于 2013-08-24T19:11:26.827 回答
9

如果文件不是很大:

with open('/path/to/file') as f:
    print f.readlines()[1:15]
于 2013-08-24T19:11:50.223 回答
4

乔恩的回答绝对是一种更加蟒蛇和干净的方法。


或者,您可以使用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
于 2013-08-24T19:14:01.777 回答
3

我认为您可以阅读这些行并获取您需要的行

例如:

with open("a.txt", "r") as text_file:
    data = text_file.readlines()

现在data[1]将是第二行,data[14]将是第 15 行,所以你可以这样切片data[1:14]

然后你可以把它们放入一个变量中,就是这样

于 2013-08-24T19:14:07.430 回答