作业帮 > 综合 > 作业

两个txt文档间词语匹配

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 19:51:04
两个txt文档间词语匹配
假如有2个txt文档,A文档是词典文档,B文档是需要匹配的文档.
A文档的内容为(每行一词) 昂扬
斗志
迎来
改革
B文档的内容为 (第一行)我们即将以昂扬的斗志迎来新的一年.
(第二行)国内专家学者40余人参加研讨会.
那么能否匹配到C文档,把句子里包含词典内词的句子提取出来,没有的不提取
C文档内容为
我们即将以昂扬的斗志迎来新的一年.如果是批量处理,用什么方法比较好,因为B文件有很多个.
#!/usr/bin/env python
# coding: utf-8
#
# filename: pygrep.py
# author: Tim Wang
# date: Mar., 2014

"""本脚本相当于grep命令:
    $ grep -f "userdict.txt" contextfile1.txt
"""

import re

def userdictfile2regex(filename):
    return re.compile(
            "|".join(open(filename, 'rt').readlines()),
            re.I|re.U|re.X
            )

patt = userdictfile2regex("userdict.txt")
for ln in open("contextfile1.txt", 'rt'):
    if patt.search(ln):
        print ln,
 tim@ubtim:/workspace/baidu$ cat userdict.txt
昂扬
斗志
迎来
历史
改革tim@ubtim:/workspace/baidu$ cat contextfile1.txt
我们即将以昂扬的斗志迎来新的一年.
国内专家学者40余人参加研讨会.
tim@ubtim:/workspace/baidu$ python pygrep.py
我们即将以昂扬的斗志迎来新的一年.
tim@ubtim:/workspace/baidu$