Я пытаюсь найти разницу между двумя текстовыми файлами с использованием difflib в Python. Я могу печатать текст, который был добавлен или удален в новом файле. Но я хочу напечатать, в какой строке была сделана модификация. Хотя я знаю, как подсчитать количество строк в файле, я не могу распечатать строки, которые были добавлены или удалены. Мой код здесь:Печать числа строк в файле python difflib
import difflib
import time
def get_diff(old_file, new_file):
f1 = open(old_file, 'r')
f2 = open(new_file, 'r')
old_file = f1.readlines()
new_file = f2.readlines()
diff = difflib.unified_diff(old_file, new_file, lineterm='')
lines = list(diff)[2:]
added = [lineA for lineA in lines if lineA[0] == '+']
with open("output.txt", "w") as fh1:
for line in added:
fh1.write(line)
print '+',added
removed = [lineB for lineB in lines if lineB[0] == '-']
with open("output.txt", "a") as fh1:
for line in removed:
fh1.write(line)
print '-',removed
if __name__ == '__main__':
fh = get_diff("ex.txt","ex2.txt")
Спасибо заранее :)
Хозяин Вы можете объяснить это? Я не понял, как читать эти цифры –
См. Https://en.wikipedia.org/wiki/Diff_utility#Unified_format –
Hom Спасибо вам :) –