从python中的第二行开始读取文件

时间:2017-09-18 02:05:27

标签: python file io

我使用python而且我不知道该怎么做。

我想在文件中阅读很多行。但我必须从第二行开始阅读。所有文件都有不同的行,所以我不知道该怎么做。

代码示例是它从第一行读取到第16行。 但我必须从第二行读取文件到行尾。 谢谢!:)

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

3 个答案:

答案 0 :(得分:4)

您应该可以致电next并弃掉第一行:

with open('filename') as fin:
    next(fin) # cast into oblivion
    for line in fin:
        ... # do something

由于作为生成器的fin的性质,这很简单容易。

答案 1 :(得分:0)

查看islice

的文档
  

itertools.islice(可迭代,停止)
  itertools.islice(iterable,start,stop [,step])

     

创建一个从迭代中返回所选元素的迭代器。如果start为非零,则跳过iterable中的元素,直到达到start。之后,连续返回元素,除非将step设置为高于导致跳过项目的步骤。 如果stop为None,则迭代继续,直到迭代器耗尽,如果完全;否则,它停在指定位置。与常规切片不同,islice()不支持start,stop或step的负值。可用于从内部结构已展平的数据中提取相关字段(例如,多行报表可能会在每三行列出一个名称字段)。

我认为你可以告诉它从第二行开始并迭代直到结束。 e.g。

with open('filename') as fin:
    for line in islice(fin, 2, None):  # <--- change 1 to 2 and 16 to None
        print line

答案 2 :(得分:0)

with open("filename", "rb") as fin:
    print(fin.readlines()[1:])