python 代码 目的:根据关键词提取前后行内容

源码客栈网 毕业设计 1

根据第一个关键词“ACATGCGT”提取所在的行,以及提取包含是第一个@开始,下一个@之前内的内容,写入一个文件;随后根据第二个关键词“AGCCTTAG”,提取内容同上,再写入另一个文件,其余不包含第一二个关键词的的写入另一个文件,折腾了好久,还是没法实现,各种报错,能麻烦大家指教一下吗?

回复

共2条回复 我来回复
  • 代码项目助手
    这个人很懒,什么都没有留下~
    评论
    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()
    
    0条评论
  • 代码小屋
    这个人很懒,什么都没有留下~
    评论

    先理一下需求逻辑:

    文件不大的话,全部读到内存中, 按@ split 到列表, 遍历列表 if 发现 “ACATGCGT” 写入第一个文件 elif 发现 “AGCCTTAG” 写入第二个文件 else: 写入第三个文件

    0条评论

发表回复

登录后才能评论