0

我有 ascii 纯文本文件 1(旧文件)和 ascii 纯文本文件 2(对文件 1 进行了一些更改的新文件)。

在文件 1 和文件 2 之间进行比较时,python 脚本中是否可以按类别列出附加文本添加、删除内容和更改内容的差异。

4

1 回答 1

1

我认为你需difflib.Differ要这样做: http: //docs.python.org/2/library/difflib.html

如果你用谷歌搜索“difflib.Differ Example”,你会发现很多对你有帮助的例子。

编辑: 这是一个例子

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
于 2013-08-19T13:14:20.290 回答