我有以下问题: 我打开一个文件,逐行阅读,寻找一个特定的模式。当我找到它时,我想把整行代码和接下来的两行代码写到一个新文件中。问题是我不知道如何从我找到的那条线到下一条2。在
AAA
XXX
XXX
BBB
XXX
XXX
CCC
XXX
XXX
在这个例子中,我会找到“BBB”,我想得到下两行。在
我能做什么?非常感谢你的帮助!在
编辑:我意识到我必须更准确地问。在
这是我同事的密码
^{pr2}$对于每一个k in range
,我想将k, k+1, k+2
写入ftrj文件。
哪种方法最好?在
编辑2:对不起,但我意识到我犯了一个错误。你的建议奏效了,但我意识到我必须在代码的另一部分中包含它。在
for line in lines[model[i]:model[i+1]]:
if line.startswith('ATOM'):
resi=line[22:26]
resn=line[17:20]
atn=line[12:16]
crd=[float(line[31:38]),float(line[38:46]),float(line[46:54])]
if (resn in noprot)==False and atn.strip().startswith('CA')==True:
protcrd.append(crd)
if (resn in reswat)==True and (atn.strip() in atwat)==True:
watcrd.append(crd)
watline.append(line)
我会这样想:
(...)
if (resn in reswat)==True and (atn.strip() in atwat)==True:
watcrd.append(crd)
watline.append(line)
for i in range(1, 3):
try:
watcrd.append(crd[line + i])
watline.append(line[line + i])
except IndexError:
break
但它不起作用。如何指示要附加到此列表的部件和行?在
Python文件对象是迭代器,您可以随时请求下一行:
这里^{} function 将
infh
迭代器推进到下一行,返回该行。在但是,您不是在处理文件,而是在处理列表;您始终可以访问列表中的后续索引:
^{pr2}$相关问题 更多 >
编程相关推荐