我有ascii純文本文件1(舊文件)和ascii純文本文件2(對文件1進行了一些更改的新文件)。Python如何檢索新的附加內容,更改內容和刪除的內容的更改列表
反正在python腳本可以列出按類別附加文本刪除內容差異增加,而當文件1之間進行比較和文件2.
我有ascii純文本文件1(舊文件)和ascii純文本文件2(對文件1進行了一些更改的新文件)。Python如何檢索新的附加內容,更改內容和刪除的內容的更改列表
反正在python腳本可以列出按類別附加文本刪除內容差異增加,而當文件1之間進行比較和文件2.
我認爲你需要使用difflib.Differ
做改變的內容: http://docs.python.org/2/library/difflib.html
如果你谷歌「difflib.Differ示例」,你會發現很多的例子,這將有助於你。
編輯: 這裏是一個例子
text1 = """Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer
eu lacus accumsan arcu fermentum euismod. Donec pulvinar porttitor
tellus. Aliquam venenatis. Donec facilisis pharetra tortor. In nec"""
text1_lines = text1.splitlines()
text2 = """Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer
eu lacus accumsan arcu fermentum euismod. Donec pulvinar, porttitor
tellus. Aliquam venenatis. Donec facilisis pharetra tortor. In nec"""
text2_lines = text2.splitlines()
import difflib
d = difflib.Differ()
diff = d.compare(text1_lines, text2_lines)
print '\n'.join(diff)
結果:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer
- eu lacus accumsan arcu fermentum euismod. Donec pulvinar porttitor
+ eu lacus accumsan arcu fermentum euismod. Donec pulvinar, porttitor
? +
- tellus. Aliquam venenatis. Donec facilisis pharetra tortor. In nec
? -
+ tellus. Aliquam venenatis. Donec facilisis pharetra tortor. In nec
差異庫不顯示告訴我是否有更改內容或額外的內容或刪除的內容,它只列出爲+或 - 以顯示差異,讓我知道如果有任何? – user2671444
我們可以使用diff html,只顯示差異嗎?這篇文章很難看 – user2671444
所以,你要 '差異' 兩個文件?看看這個SO問題:http://stackoverflow.com/questions/5897983/diff-algorithm-implementation-in-python –