2013-08-19 60 views
0

我有ascii純文本文件1(舊文件)和ascii純文本文件2(對文件1進行了一些更改的新文件)。Python如何檢索新的附加內容,更改內容和刪除的內容的更改列表

反正在python腳本可以列出按類別附加文本刪除內容差異增加,而當文件1之間進行比較和文件2.

+0

所以,你要 '差異' 兩個文件?看看這個SO問題:http://stackoverflow.com/questions/5897983/diff-algorithm-implementation-in-python –

回答

1

我認爲你需要使用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 
+0

差異庫不顯示告訴我是否有更改內容或額外的內容或刪除的內容,它只列出爲+或 - 以顯示差異,讓我知道如果有任何? – user2671444

+0

我們可以使用diff html,只顯示差異嗎?這篇文章很難看 – user2671444