Форум сайта python.su
0
Alen
Прикреплённый файлы:
error.PNG (139,9 KБ)
Офлайн
0
Alen, я нашел ошибку, просто не скопировался бэкслэш в строке “with open('domains1.txt') as text_one,\”
теперь все отлично и мгновенно работает.
С П А С И Б О тебе О Г Р О М Н О Е ! ! !
(плюсую репутацию 100 раз)
Отредактировано russian_bear (Янв. 9, 2015 13:24:43)
Офлайн
857
С difflib там алгоритм неправильный. Не выделяет он строки, которые есть только в одном из файлов.
Вот код с множествами, который правильно выделяет, только меняет порядок строк, так как множество не упорядочено.
#!/usr/bin/env python3 def diff(name1, name2): with open(name1) as ifp1, \ open(name2) as ifp2: return set(ifp1) ^ set(ifp2) def main(): d = diff('file1.txt', 'file2.txt') with open("out.txt", "w") as fout: fout.writelines(d) if __name__ == '__main__': main()
[guest@localhost diff]$ ll
итого 21456
-rwxrw-r--. 1 guest guest 320 янв 9 21:32 diff.py
-rw-rw-r--. 1 guest guest 5490995 янв 9 21:39 file1.txt
-rw-rw-r--. 1 guest guest 5490995 янв 9 21:39 file2.txt
-rw-rw-r--. 1 guest guest 10977790 янв 9 21:40 out.txt
[guest@localhost diff]$ wc -l file1.txt
200100 file1.txt
[guest@localhost diff]$ wc -l file2.txt
200100 file2.txt
[guest@localhost diff]$ time ./diff.py
real 0m0.575s
user 0m0.524s
sys 0m0.045s
[guest@localhost diff]$ wc -l out.txt
400000 out.txt
[guest@localhost diff]$
Отредактировано py.user.next (Янв. 10, 2015 00:28:02)
Офлайн
49
russian_bear
теперь все отлично и мгновенно работает.
Отредактировано Alen (Янв. 9, 2015 14:00:37)
Офлайн