Уведомления

Группа в Telegram: @pythonsu

#1 Май 30, 2012 20:55:32

leona
От:
Зарегистрирован: 2011-12-28
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

сравнение файлов и выдача совпадений

Здравствуйте ! Пытаюсь написать скрипт, который бы сравнил два файла и вывел в отдельном файле обнаруженные совпадения. Исходные файлы содержат упорядоченные по алфавиту слова.

нашла на форуме одно решение, но там не выводятся в отдельном файле совпадения.

 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' 

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

Буду признательна за помощь !



Офлайн

#2 Май 30, 2012 21:46:08

Unril
От: Москва
Зарегистрирован: 2012-05-27
Сообщения: 3
Репутация: +  1  -
Профиль   Отправить e-mail  

сравнение файлов и выдача совпадений

Как-то так:

matching = set(open("words1.txt")).intersection(set(open("words2.txt")))
open("outputs.txt", mode="w").writelines(matching)
Тут мы находим пересечение множеств, полученных из строк файлов words1 и words2 и записываем его в файл outputs. Sets.

Офлайн

#3 Май 30, 2012 21:47:21

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

сравнение файлов и выдача совпадений

такие задачи без питона обычно делаются в командной строке:
you_file.py >output_file.dat

Приведенное вами решение крайне неудачное. для небольших файлов(меньше гигабайта) лучше:

print set(open("vers.txt")).intersection(set(open("wahr.txt")))



Офлайн

#4 Май 30, 2012 22:59:18

leona
От:
Зарегистрирован: 2011-12-28
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

сравнение файлов и выдача совпадений

спасибо Unril & doza_and большое за оперативную помощь!!!!!
попробовала оба варианта.
в первом случае был создан output файл, но он оказался почему-то пустым.
второй вариант. python выдал ошибку: не нашел файлы. попытаюсь на свежую голову еще почитать дополнительно что-нибудь и запустить.



Офлайн

#5 Май 31, 2012 01:59:40

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

сравнение файлов и выдача совпадений

leona, у вас нет предмета вроде “алгоритмы и структуры данных”? Понятие “класс сложности” незнакомо?

Рашка такая рашка.



Офлайн

#6 Май 31, 2012 10:30:55

leona
От:
Зарегистрирован: 2011-12-28
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

сравнение файлов и выдача совпадений

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

еще раз спасибо !



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version