如何在一行数据中搜索下一个关键字
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>
我正在尝试遍历 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>