Python:从2个文件中查找不同文件的确切句子

时间:2017-01-06 16:54:09

标签: python

美好的一天。我是Python的新手,并且正在寻找能够在文本文件中搜索另一个html文件中的确切关键字(可能是长字符串)的代码。例如,关键字.txt和data.html。目前它只匹配第一个单词而不是精确的句子匹配。

我的关键字文件包含:

Hello welcome
Hello welcome to this page
Hello world

我的数据文件包含:

Hello
hello good day

对于这种情况,它应该返回:不匹配,但目前它正在返回"匹配找到"。

以及如何确保它在html页面上逐行搜索所有关键字。

真的很感激。提前致谢。

我目前的代码:

import re

keyfile = 'keyword.txt'
testfile = 'data.txt'
keys = set(key.lower() for key in
    re.findall(r'\w+', open(keyfile , "r").readline()))
with open(testfile) as f:
    for line in f:
        words = set(word.lower() for word in re.findall(r'\w+', line))
        if keys & words:
            print "match found"

1 个答案:

答案 0 :(得分:0)

将第6行从re.findall(r'\w+', open(keyfile , "r").readline()))修改为open(keyfile , "r")),将整行放入key集,而不只是单词。您还需要修改匹配的部分以匹配线。

所以你的代码看起来像这样:

import re

keyfile = 'keyword.txt'
testfile = 'data.txt'
keys = set(key.lower() for key in
    open(keyfile , "r"))
with open(testfile) as f:
    for line in f:
        if line.lower() in keys:
            print "match found"

这应该可以解决你的问题。