python学习之文件差异对比

#########文件差异对比#########
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配置文件的差异对比


示例三:
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)


思考:
有两个配置文件,通过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)









  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值