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

2024-09-28 03:23:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试遍历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()

在这里,我正在搜索“备注350生物分子:”,如果找到,打印出下一行的第三列:“作者”作为输出


Tags: 数据infordataifline关键字单词
1条回答
网友
1楼 · 发布于 2024-09-28 03:23:15

编辑:删除了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>

相关问题 更多 >

    热门问题