Найти - Пользователи
Полная версия: сравнение файлов и выдача совпадений
Начало » Python для новичков » сравнение файлов и выдача совпадений
1
leona
Здравствуйте ! Пытаюсь написать скрипт, который бы сравнил два файла и вывел в отдельном файле обнаруженные совпадения. Исходные файлы содержат упорядоченные по алфавиту слова.

нашла на форуме одно решение, но там не выводятся в отдельном файле совпадения.
 def compare():
  for word in open('vers.txt',"r"):
    for decode in open('wahr.txt',"r"): 
      if decode == word:
          print 'Найдено совпадение: ',decode
compare()
print 'Status ...OK' 

Не знаю, как и куда вписать новый файл, куда бы записались обнаруженные совпадения.

Буду признательна за помощь !
Unril
Как-то так:
matching = set(open("words1.txt")).intersection(set(open("words2.txt")))
open("outputs.txt", mode="w").writelines(matching)
Тут мы находим пересечение множеств, полученных из строк файлов words1 и words2 и записываем его в файл outputs. Sets.
doza_and
такие задачи без питона обычно делаются в командной строке:
you_file.py >output_file.dat

Приведенное вами решение крайне неудачное. для небольших файлов(меньше гигабайта) лучше:
print set(open("vers.txt")).intersection(set(open("wahr.txt")))
leona
спасибо Unril & doza_and большое за оперативную помощь!!!!!
попробовала оба варианта.
в первом случае был создан output файл, но он оказался почему-то пустым.
второй вариант. python выдал ошибку: не нашел файлы. попытаюсь на свежую голову еще почитать дополнительно что-нибудь и запустить.
asilyator
leona, у вас нет предмета вроде “алгоритмы и структуры данных”? Понятие “класс сложности” незнакомо?

Рашка такая рашка.
leona
сегодня получилось с первым вариантом. проблема была в том, что сопоставляемые файлы были не идентичны по содержанию, т.е. в одном файле каждое слово сопровождалось дополнительной информацией, а в другом был просто список слов. второй вариант, надеюсь, пойму со временем)

еще раз спасибо !
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB