python 代码 目的:根据关键词提取前后行内容
毕业设计
1
根据第一个关键词“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: 写入第三个文件
发表回复