我有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 –