首页 > 自动化运维 > python > difflib模块文件对比
2015
03-14

difflib模块文件对比

前言

在linux下我们常用的的文件对比命令是diff,看的总是感觉不爽,后来发现了python的difflib模块,就分享一下!

difflib代码

[root@search zhaodong]# cat diff.py 
#!/usr/bin/env python
#coding=utf8
#Author zhaodong
import difflib
import sys
try:
#通过命令行输入2个对比差异的文件
	textfile1=sys.argv[1]
	textfile2=sys.argv[2]
#自定义报错信息,并退出程序
except IndexError:
	print "Usage: python diff.py file1 file2 >> test.html"
#报错之后直接退出程序
	sys.exit()
#定义读取文件模块	
def Readline(filename):
	try:
		f = file(filename,'r')
#读取文件并以行分割splitlines
		text = f.read().splitlines()
#使用return 返回结果,而不是用print 打印的屏幕上
		return text
		f.close()
#异常处理
	except IOError:
		print "No such file"
		sys.exit()
if __name__=="__main__":
#调用Readline模块,将输入的文件名作为模块的参数
	file1=Readline(textfile1)
	file2=Readline(textfile2)
#生成html格式文档,这是语法,这也就是对比的关键
	d=difflib.HtmlDiff()
	print d.make_file(file1,file2)

效果演示

python diff.py  test test1  > tshare365.html

将tshare365.html文件下载到本地通过游览器访问

12

 

 本博客到此结束,如有问题请留言!

  




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复