Форум сайта python.su
0
Здравствуйте ! Пытаюсь написать скрипт, который бы сравнил два файла и вывел в отдельном файле обнаруженные совпадения. Исходные файлы содержат упорядоченные по алфавиту слова.
нашла на форуме одно решение, но там не выводятся в отдельном файле совпадения.
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'
Офлайн
1
Как-то так:
matching = set(open("words1.txt")).intersection(set(open("words2.txt"))) open("outputs.txt", mode="w").writelines(matching)
Офлайн
253
такие задачи без питона обычно делаются в командной строке:
you_file.py >output_file.dat
Приведенное вами решение крайне неудачное. для небольших файлов(меньше гигабайта) лучше:
print set(open("vers.txt")).intersection(set(open("wahr.txt")))
Офлайн
0
спасибо Unril & doza_and большое за оперативную помощь!!!!!
попробовала оба варианта.
в первом случае был создан output файл, но он оказался почему-то пустым.
второй вариант. python выдал ошибку: не нашел файлы. попытаюсь на свежую голову еще почитать дополнительно что-нибудь и запустить.
Офлайн
-2
leona, у вас нет предмета вроде “алгоритмы и структуры данных”? Понятие “класс сложности” незнакомо?Рашка такая рашка.
Офлайн
0
сегодня получилось с первым вариантом. проблема была в том, что сопоставляемые файлы были не идентичны по содержанию, т.е. в одном файле каждое слово сопровождалось дополнительной информацией, а в другом был просто список слов. второй вариант, надеюсь, пойму со временем)
еще раз спасибо !
Офлайн