如何输出两个文本文件之间的差异?

2024-05-19 08:12:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何比较两个文本文件,突出它们之间的差异?例如:

文件1.txt

AAAAA
BBBBB
CCCCC

文件2.txt

AAAAA
BBBBB

在比较这两个文件之后,我想得到以下输出:

CCCCC

我正在使用Python,并尝试sed和grep,但没有成功(我也对linux shell的这种方式感兴趣)。


Tags: 文件txtlinux方式差异shellgrepsed
3条回答

Python有一个专门用于执行此操作的库:difflib。您可以向它提供两个文本文件的内容,它将返回两个文本文件之间的差异。

例如,请参见http://pymotw.com/2/difflib/

sort File1.txt File2.txt | uniq -u

我在python中使用了这个,很简单,但它是有效的

>>> File1 = open("file1","r")
>>> File2 = open("file2","r")
>>> Dict1 = File1.readlines()
>>> Dict2 = File2.readlines()
>>> print Dict1
['AAAAA\n', 'BBBBB\n', 'CCCCC\n']
>>> print Dict2
['AAAAA\n', 'BBBBB\n']
>>> DF = [ x for x in Dict1 if x not in Dict2 ]
>>> print DF
['CCCCC\n']
>>> print DF[0]
CCCCC

>>> print DF[0].rstrip()
CCCCC

相关问题 更多 >

    热门问题