使用python比较两个文件的不同之处

比较两个文件的不同之处用处还是比较大的,特别是比较两个版本的不同之处

[root@localhost python]# cat diftest.py
#!/usr/bin/python
import difflib
import sys
try:
    file1=sys.argv[1]           #第一个参数文件
    file2=sys.argv[2]           #第二个参数文件
except Exception,e:
    print "Error: %s"%str(e)
    sys.exit()
def readfile(filename):             #相对来说,可以考虑调用函数,因为需要处理两个文件
    try:                        #检测异常
        df=open(filename,"rb")              #打开文件
        text=df.read().splitlines()         #读取文件内容,并根据行进行分割
        df.close()                          #关闭文件
        return text                         #返回文件内容字符串
    except IOError,e:                           #抛出异常
        print "ERROR: %s"%str(e)
        sys.exit()
if file1=="" or file2=="":
    print "please input filename and filename"
    sys.exit()
file1_lines=readfile(file1)
file2_lines=readfile(file2)
diff=difflib.HtmlDiff()                #创建HtmlDiff类对象
print diff.make_file(file1_lines,file2_lines)
[root@localhost python]# ./diftest.py ip.py ip.py1 >a.html
[root@localhost python]# cat ip.py
#!/usr/bin/python
from IPy import IP
print IP('192.168.0.0/16').version()
ipok=IP('192.0.0.0/8')
i=IP('192.168.1.100')
print ip1.reverseNames()
ip.len()
#for x in ip:
#   print(x)
[root@localhost python]# cat ip.py1
#!/usr/bin/python
from IPy import IP
print IP('192.168.0.0/16').version()
ip=IP('192.0.0.0/80')
ip1=IP('192.168.1.100')
print ip1.reverseNames()
print ip.len().linux
#for x in ip:
#   print(x)
kkkk
[root@localhost python]# 

看一下a.html的效果
这里写图片描述

posted on 2017-10-25 18:06  标配的小号  阅读(7337)  评论(0编辑  收藏  举报

导航