搜索两个文件之间的不同单词

时间:2014-12-26 13:13:45

标签: python-3.x

我有两个文件(txt),用于检查文件A和文件B,我想要 找到文件B中存在于文件B中的所有单词,

例如,如果文件A是:

HIS HOUSE IS VERY SMALL

,文件B

HIS DOG IS VERY NICE

我想写一个程序,告诉我HOUSE不是 在文件B中。

我想使用SPLIT命令并循环遍历文件 但由于我不太了解蟒蛇,有没有人可以帮助我 如果有另一个命令可以帮助我?

1 个答案:

答案 0 :(得分:0)

也许有更好的解决方案,但下面的这个解决方案将解决您的问题。

import re

def is_letter(s):
    return re.match('[a-z]|[A-Z]$', s)

def words_only(s):
    for i, x in enumerate(s):
        if not is_letter(x):
            s = s[:i] + s[i:].replace(x, ' ')
    s = re.sub( '\s+', ' ', s).strip().upper().split(' ')
    return s

file_a = words_only(open('file_a.txt', 'r').read())
file_b = words_only(open('file_b.txt', 'r').read())

for x in file_a:
    if x not in file_b:
        print(x)

file_a.txt

他的狗非常小。

他的妻子非常好。

file_b.txt

他的狗非常好。

他非常难看。