#########文件差异对比#########
1.文件差异对比
示例1:

In [16]: import difflib

In [17]: text1 = 'hello westos'        # 创建diff对象

In [18]: text2 = 'hello zhan'        # 创建diff对象

In [19]: text1_lines = text1.splitlines()    # 创建diff对象

In [20]: text2_lines = text2.splitlines()    # 创建diff对象

In [21]: diff = d.compare(text1_lines, text2_lines)    # 创建diff对象

In [23]: d = difflib.Differ()

In [24]: diff = d.compare(text1_lines, text2_lines)    #采用compare方法对字符串进行比较

In [25]: print '\n'.join(list(diff))            #文件差异对比
- hello westos
+ hello zhan
'-' 包含在第一个中,但不包含在第二个中
'+' 包含在第二个中,但不包含在第一个中
' ' 两者相同
'?' 两个存在增量差异
'^' 标志出两者行存在的差异字符文件差异对比

示例2:
In [26]: d = difflib.HtmlDiff()

In [27]: print d.make_file(text1_lines, text2_lines)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>..........

在执行代码时,python xx.py > diff.html配置文件的差异对比

python学习之文件差异对比

示例三:
f1 = open('text1')
t1 = f1.read()
#print t1
f2 = open('text2')
t2 = f2.read()
#print t2
import difflib
text1_line = t1.splitlines()
text2_line = t2.splitlines()
d = difflib.Differ()
a = d.compare(text1_line, text2_line)
a = list(a)

print '\n'.join(a)

python学习之文件差异对比

思考:
有两个配置文件,通过html页面显示两个配置文件之间的差异。思路:先读取两个文件的内容;比较文件内容的不同 。

f1 = open('text1')
t1 = f1.read()
#print t1
f2 = open('text2')
t2 = f2.read()
#print t2
import difflib
text1_line = t1.splitlines()
text2_line = t2.splitlines()
d = difflib.HtmlDiff()
htmldata = d.make_file(text1_line,text2_line)
with open('/root/Desktop/data.html','a+') as f:
    f.write(htmldata)
python学习之文件差异对比








相关文章: