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
使用生成器表达式?@thefourtheyeislice
是一种从迭代器中获取切片的快速和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()