Как вывести похожие слова из нескольких файлов в один?

Есть код:

_all = []
with open('prob 1.txt', 'r') as a:
    a_list = a.read().split(' ')
    _all.append(a_list)
    with open('prob 2.txt', 'r') as b:
        b_list = b.read().split(' ')
        _all.append(b_list)
result = set(_all[0])
for s in _all[1:]:
    result.intersection_update(s)
with open('compare_out.txt', 'w', ) as ufill:
     for each in result:
         ufill.writelines(each + '\n')

Но он ничего не выводит Не могу понять, где ошибка

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Zhihar

не совсем понятно, что именно вы хотите сделать?

если найти одинаковые слова в двух файлах, то у вас код как-то утяжелен и по идее должен выглядеть так:

with open('prob 1.txt', 'r') as file:
    data1 = set(file.read().split())

with open('prob 2.txt', 'r') as file:
    data2 = set(file.read().split())

result = data1.intersection(data2)

with open('compare_out.txt', 'w', ) as file:
     for each in result:
         file.writelines(each + '\n')

конечно по хорошему слова с большой и маленькой буквами будут разными словами, поэтому наверное стоит сначала все выделенные слова перевести в нижний регистр, дальше вопрос по словам, разделённым знаками препинания - их тоже надо обработать отдельно (например, заменить все знаки пробелами и потом только разделить на слова) и т.д.

→ Ссылка