如何在一行数据中搜索下一个关键字

How to search for the next keyword in a line of data

我正在尝试遍历 datafile 并在数据中搜索关键字。如果找到该关键字,我想在下一行打印第三个词。示例:

for line in data:
    nextline = next(data)
    if 'REMARK 350 BIOMOLECULE:' == line.strip():
        bio = nextline[2]    
    print("\t".join([bio]), file=datafile)  
datafile.close()

在这里,我正在搜索单词 'REMARK 350 BIOMOLECULE:',如果找到,则打印出下一行的第三列:“AUTHOR”作为输出

编辑:在 catch

上删除了额外的 :

你需要一面旗帜。

catch = False
for line in data:
    if catch:
        magic = line.split()[2]
        print(f"\t{magic}", file=datafile)  
    catch = 'REMARK 350 BIOMOLECULE:' == line.strip()
datafile.close()

转成完整脚本:

import sys
datafile = sys.stdout
data = """\
REMARK 350 BIOMOLECULE:
REMARK 350 AUTHOR""".splitlines()
catch = False
for line in data:
    if catch:
        magic = line.split()[2]
        print(f"\t{magic}", file=datafile)  
    catch = 'REMARK 350 BIOMOLECULE:' == line.strip()
datafile.close()

输出:

C:\tmp>python x.py
        AUTHOR
C:\tmp>