python查找txt文件中关键字

现在有一个文件夹xx中含有多个txt文件,每个txt文件里面有多篇文章,每篇文章都是用{}分隔开,例如:{从前有座山,山里有座庙...}{小白是个学生...}{从前有座山... 现在有一个文件夹xx中含有多个txt文件,每个txt文件里面有多篇文章,每篇文章都是用{}分隔开,例如:

{从前有座山,山里有座庙...}{小白是个学生...}{从前有座山,山里有个老和尚...}

含有关键字“从前"和“山”的文章,只有当两个关键字同时满足,然后在整篇文章}后加上##NO,不满足条件的,则不需改变。

最终结果如下:

{从前有座山,山里有座庙...}##NO{小白是个学生...}{从前有座山,山里有个老和尚...}##NO

用python怎么实现,由于我是初学者请注明解释,谢谢了
展开
 我来答
lejoylejoy
2017-02-09 · TA获得超过1003个赞
知道小有建树答主
回答量:513
采纳率:75%
帮助的人:450万
展开全部

伪代码:

1、遍历文件夹下所有txt文件

rootdir = '/path/to/xx/dir'   # 文件夹路径
for parent, dirnames, filenames in os.walk(rootdir):
    for filename in filenames:

2、读取txt文件里的内容,通过正则表达式把txt里多篇文章拆分开来。得到一个列表:['{xx1}##NO', '{xx2}', '{xx3}##NO']

3、把上面得到的list写到一个新的临时文件里,比如:xx_tmp.txt,然后:shutil.move('xx_tmp.txt', 'xx.txt') 覆盖掉原来的文件

sdwffzlll
2017-02-09 · TA获得超过758个赞
知道小有建树答主
回答量:498
采纳率:85%
帮助的人:247万
展开全部
a = "{从前有座山,山里有座庙...}{小白是个学生...}{从前有座山,山里有个老和尚...}"
b = "从前"
c = "山"
d = a.split("{")
for i in range(len(d)):
if b in d[i] and c in d[i]:
d[i] = d[i] + "##NO"

e = "{".join(d)
print e
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式