Python如果line=string,则打印文件的下一行
我正在写一些东西来打印文件中的某些行。假设该文件如下所示: name=1 名称=a name=2 name=b name=3 额外=1 name=c name=4 额外=1 name=dPython如果line=string,则打印文件的下一行,python,file,Python,File,我正在写一些东西来打印文件中的某些行。假设该文件如下所示: name=1 名称=a name=2 name=b name=3 额外=1 name=c name=4 额外=1 name=d 所以通常我可以用(name)行开始并打印出来,但假设我只需要一半,我还不知道我需要什么值。所以我能做的就是只打印以“name”开头的行,在以“extra”开头的行之后,只打印我想要的行。但我不知道如何打印像line+1这样的内容。如何根据前一行的内容打印下一行?有更好的方法吗?谢谢 您只需使用布尔标志,并仅在设
所以通常我可以用(name)行开始并打印出来,但假设我只需要一半,我还不知道我需要什么值。所以我能做的就是只打印以“name”开头的行,在以“extra”开头的行之后,只打印我想要的行。但我不知道如何打印像line+1这样的内容。如何根据前一行的内容打印下一行?有更好的方法吗?谢谢 您只需使用布尔标志,并仅在设置该标志时打印即可。比如:
print_next_line = False
for line in f_in:
if print_next_line:
print(line)
print_next_line = False
else:
print_next_line = line.startswith()
在输入处理循环结束时,保留一份当前输入行的副本,并将其命名为
previous\u 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
太神了非常感谢。