怎么用python搜索文本并筛选出来?

有一个txt文件,所有文本都是四行为一个单位的,现在我想从中间筛选出一些四行中第二行前面为特定序列(比如aaa)的四行单位,把特定序列删除之后,把那些删除后的四行序列从新... 有一个txt文件,所有文本都是四行为一个单位的,现在我想从中间筛选出一些四行中第二行前面为特定序列(比如aaa)的四行单位,把特定序列删除之后,把那些删除后的四行序列从新存为新的txt文件! 展开
 我来答
风元素精灵
推荐于2016-10-14 · TA获得超过707个赞
知道小有建树答主
回答量:707
采纳率:0%
帮助的人:695万
展开全部
txtfile=open(r'test.txt',"r")
newtxtfile=open(r'new.txt',"w")
linelist=[]
for line in txtfile:
    linelist.append(line)
    if len(linelist)==4:
        if not linelist[1].startswith(r'aaa'):
            newtxtfile.writelines(linelist)
        linelist=[]
if len(linelist)>1:
    if not linelist[1].startswith(r'aaa'):
            newtxtfile.writelines(linelist)
elif len(linelist)==1:
    newtxtfile.writelines(linelist)
txtfile.close()
newtxtfile.close()

读取文件test.txt,将每四行中第二行以aaa开始的去除,写入新文件new.txt中

追问
是只保留含有aaa的那些四行,但是要把aaa删除!
酒尽望天
2014-01-10 · TA获得超过394个赞
知道小有建树答主
回答量:318
采纳率:100%
帮助的人:122万
展开全部
a=file('a.txt','r').readlines()
b=[a[4*i:4*(i+1)] for i in range(len(a)/4) if a[4*i+1]=='aaa\n']
file('b.txt','w').write(''.join(b))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ldw343261
2014-01-10 · 超过47用户采纳过TA的回答
知道答主
回答量:233
采纳率:0%
帮助的人:125万
展开全部
用readlines做递归之后re匹配后替换,这个比较麻烦
简单的是用string.template直接替换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式