根据第一个关键词“ACATGCGT”提取所在的行,以及提取包含是第一个@开始,下一个@之前内的内容,写入一个文件;随后根据第二个关键词“AGCCTTAG”,提取内容同上,再写入另一个文件,其余不包含第一二个关键词的的写入另一个文件,折腾了好久,还是没法实现,各种报错,能麻烦大家指教一下吗?
【有帮助请采纳】
inputfile = input('输入文件路径:')#此处输入绝对路径
inlist = []
with open(inputfile,'r') as file:
file = file.readlines()
for line in file:inlist.append(line)
def func1():
with open('out1.txt','w') as outfile1:
with open('out3.txt','w') as outfile3:
for lines in inlist:
if 'ACATGCGT' in lines:outfile1.write(lines)
if 'AGCCTTAG' in lines:outfile1.write(lines)
else:outfile3.write(lines)
def func2(n=0):
with open('out2.txt','w') as outfile2:
while n < len(inlist):
if inlist[n][0]=='@':
while 1:
outfile2.write(inlist[n].strip('@'))
n +=1
if n == len(inlist):break
if inlist[n][0]=='@':break
n +=1
func1()
func2()
【有帮助请采纳】
先理一下需求逻辑:
文件不大的话,全部读到内存中,
按@ split 到列表,
遍历列表
if 发现 “ACATGCGT”
写入第一个文件
elif 发现 “AGCCTTAG”
写入第二个文件
else:
写入第三个文件