如果条件后跳过第一行

时间:2018-06-19 11:42:40

标签: python python-3.x

当我逐行读取文件时,我想跳过if条件;之后以[ word ]开头的第一行,但是我的代码给出了以下错误。如何解决此错误?

  

AttributeError:'_io.TextIOWrapper'对象没有属性'next'

代码:

  for line in open(inputfile, "r").readlines():
    if "[ word ]" in line:
      line = open(inputfile, "r").next() 

3 个答案:

答案 0 :(得分:4)

您可以使用startswith检查行的开始方式,并使用continue越过该行

with open(inputfile, "r") as f:
    for line in f:
        if line.startswith(';'):
            continue
        ...

答案 1 :(得分:1)

您应该只使用continue并添加变量以检查是否跳过了第一行:

with open(inputfile, "r") as f:
    skip_first = False
    for line in f:
        if line.startswith(';') and skip_first:
          skip_first = True
          continue

答案 2 :(得分:1)

您可以这样做:

with open(inputfile) as f:
    for line in f:
        if "[ word ]" in line:
            line = f.readline()  # 1
  1. line重新分配到比if比较所使用的行更下一行。