Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python从第二行到第十五行读取文本文件_Python_File_Readlines - Fatal编程技术网

Python从第二行到第十五行读取文本文件

Python从第二行到第十五行读取文本文件,python,file,readlines,Python,File,Readlines,我有一个文本文件,我需要从第二行读到第十五行,包括。 我尝试过一些方法,但没有一种方法对我有效。。。 如果有人能帮助我,我会很高兴。。。 非常感谢 使用itertools.islice: from itertools import islice with open('filename') as fin: for line in islice(fin, 1, 16): print line 如果文件不是很大: with open('/path/to/file') as f

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

使用
itertools.islice

from itertools import islice
with open('filename') as fin:
    for line in islice(fin, 1, 16):
        print line

如果文件不是很大:

with open('/path/to/file') as f:
    print f.readlines()[1:15]
这绝对是一种更为简洁的方法


或者,您可以使用
enumerate()

打开(“文件”,“r”)作为f:

打印[x代表i,x在枚举(f)中,如果1我想你只需要读一行就可以了

例如:

with open("a.txt", "r") as text_file:
    data = text_file.readlines()
现在,
data[1]
将是第二行,
data[14]
将是第15行,因此您可以将其作为
data[1:14]


然后你可以把它们放入一个变量中,这就是最好的方法。@AshwiniChaudhary为什么这是最好的方法?因为
islice
使用生成器表达式?@thefourtheye
islice
是一种从迭代器中获取切片的快速和python方法,它在迭代器上循环,但这在内部以C的速度发生。+1 This看起来非常优雅。我以前不知道
islice
itertools
是一个相当大的宝箱!如果文件很大,这会将所有内容加载到内存中。使用
块打开
中的文件。
with open("file", 'r') as f:
    for i, x in enumerate(f):
        if 1 <= i <= 15:
            print x
        elif i > 15:
            break
with open("a.txt", "r") as text_file:
    data = text_file.readlines()