Python 如果 line = string,从文件打印下一行

我正在尝试写一些东西来打印文件中的某些行。假设文件如下所示:

姓名 = 1

姓名 = 一个

姓名 = 2

姓名 = b

姓名 = 3

额外 = 1

名称 = c

姓名 = 4

额外 = 1

姓名 = d

所以通常我可以做 if line startswith(name) 并将它们全部打印出来,但可以说我只需要其中的一半,而且我还不知道我需要什么值。所以我能做的就是只打印以“name”开头的行,在以“extra”开头的行之后,只打印我想要的行。但我不知道如何打印类似 line + 1 的内容。如何根据上一行的内容打印下一行?有一个更好的方法吗?谢谢!


慕运维8079593
浏览 238回答 2
2回答

翻翻过去那场雪

在输入处理循环结束时,保留当前输入行的副本并将其命名为previous_line. 然后在下一次迭代中,您将可以访问当前输入行和前一个输入行。previous_line = ''for line in f:    if line.startswith('name') and previous_line.startswith('extra'):        print line    # keep a copy of this line for the next loop    previous_line = line

Smart猫小萌

您可以简单地使用布尔标志并仅在设置标志时打印。就像是:print_next_line = Falsefor line in f_in:    if print_next_line:        print(line)        print_next_line = False    else:        print_next_line = line.startswith()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python