2015-10-10 2 views
2

Я пытаюсь сравнить два файла с помощью difflib. После сравнения я хочу напечатать «Без изменений», если обнаружена разность. Если разница в некоторых строках. Я хочу напечатать эту строку.Сравнение двух файлов с использованием difflib в python

Я пытался так:

with open("compare.txt") as f, open("test.txt") as g: 
      flines = f.readlines() 
      glines = g.readlines() 
     d = difflib.Differ() 
     diff = d.compare(flines, glines) 
     print("\n".join(diff)) 

Он будет печатать содержимое файла, если не обнаружено «никаких изменений». Но я хочу напечатать «Нет изменений», если нет никакой разницы.

+0

Вы смотрели на ответы [этот вопрос] (HTTP: //stackoverflow.com/questions/977491/comparing-2-txt-files-using-difflib-in-python)? –

ответ

2

Проверьте, чтобы увидеть, если первый символ в каждом элементе есть + или - в начале (маркировка линии поменяв):

with open("compare.txt") as f, open("test.txt") as g: 
     flines = f.readlines() 
     glines = g.readlines() 
     d = difflib.Differ() 
     diffs = [x for x in d.compare(flines, glines) if x[0] in ('+', '-')] 
     if diffs: 
      # all rows with changes 
     else: 
      print('No changes') 
+0

Спасибо за помощь ур. Но его печать ничего – Krishna

+0

СПАСИБО ВАС Дэвид, я получил результат – Krishna

 Смежные вопросы

  • Нет связанных вопросов^_^