Условия задачи:
Анализ файла. Напишите программу, которая читает содержимое двух текстовых файов и сравнивает их следующим образом:
•показывает список всех уникальных слов, содержащихся в обоих файлах;
•показывает список слов, входящих в оба файла;
•показывает список слов из первого файла, не входящих во второй;
•показывает список слов из второго файла, не входящих в первый;
•показывает список слов, входящих либо в первый, либо во второй файл, но не входящих в оба файла одновременно.
Подсказка: для выполнения этого анализа используйте операции над множествами.
Решение задачи:
def main():
with open('text1.txt', 'r') as in_line1:
list_text1 = []
for i in in_line1:
for c in i.rstrip('\n').split():
list_text1.append(c)
with open('text2.txt', 'r') as in_line2:
list_text2 = []
for i in in_line2:
for c in i.rstrip('\n').split():
list_text2.append(c)
def get_uniq(value1, value2):
set_text1= set()
set_text2 = set()
set_text1.update(value1)
set_text2.update(value2)
return set_text1, set_text2
def get_intersection(value1, value2):
return value1 | value2
def get_difference1(value1, value2):
return value1 - value2
def get_difference2(value1, value2):
return value2 - value1
def get_simetric_dif(value1, value2):
return value2 ^ value1
unic_word1, uniq_word2 = get_uniq(list_text1, list_text2)
intersect_word = get_intersection(unic_word1, uniq_word2)
diff1 = get_difference1(unic_word1, uniq_word2)
diff2= get_difference2(unic_word1, uniq_word2)
simetric_dif = get_simetric_dif(unic_word1, uniq_word2)
print(f'Список уникальных слов из 1 файла: {unic_word1},\n '
f'Список уникальных слов из 2 файла: {uniq_word2},\n'
f'список слов, входящих в оба файла: {intersect_word},\n'
f'список слов из первого файла, не входящих во второй: {diff1},\n'
f'список слов из второго файла, не входящих в первый: {diff2},\n'
f'список слов, входящих либо в первый, либо во второй файл, но не входящих в оба файла одновременно: {simetric_dif}')
main()