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

[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的效果

使用python比较两个文件的不同之处的更多相关文章

  1. 利用python实现两个文件夹的同步

    其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了. WINDOWS : xcopy 源文件夹\* 目标文件夹 /s /e /y Linux : ...

  2. python读取两个文件并且判断是否一致

    ''' 判断两个文件是否相同,如果不同请指出第几行不相同 ''' def f1vsf2(name1,name2): f1 = open(name1) f2 = open(name2) count = ...

  3. python 合并两个文件并将合并内容保存在另一个文件中

    简单地文件合并方法 思路如下: 分别读取两个文件中的内容,并将其保存在一个列表中,将列表通过join()函数转为字符,并将新字符保存在新的文件中. 其中,test1.txt中的内容为: test2.t ...

  4. python判断两个文件是否相同

    此方法相当于 Linux 系统下的diff,或者是 git 下的 checkout 官方解释请看: https://docs.python.org/2/library/difflib.html #!/ ...

  5. 基于Python——实现两个文件夹中的文件拷贝

    [背景]当复制一个文件夹中的某文件到另一个文件夹中时是一件很容易的事情,可是如果存在很多文件夹中的文件需要一一拷贝,就会变的很繁琐,稍有不慎就会遗漏,今天就用Python来解决这个问题—— [代码实现 ...

  6. 利用python合并两个文件

    1格式如下 在做利用zabbix的api来批量添加主机的时候,需要处理ip和hostname,在借用别人写的py程序的基础上,自己有改装了以下脚本,为自己使用.需要时ip和hostname为一个统一格 ...

  7. python对比两个文件问题

    写一个比较两个文本文件的程序. 如果不同, 给出第一个不同处的行号和 列号. 比较的时候可以使用zip()函数 a=open('test.txt','r') b=open('test2.txt','r ...

  8. 使用python实现两个文件夹里文件的对比(包含内容的对比)

    #-*-coding:utf-8-*- #=============================================================================== ...

  9. Python获取两个文件的交集、并集、差集

    题记:朋友在处理数据时,需要解决这方面的问题,所以利用她给的代码,自己重新梳理了下,并成功运行. 代码如下: # coding:utf-8 s1 = set(open(r'C:\\Users\\yan ...

随机推荐

  1. Docker容器使用jenkins部署web项目--总结(二)

    (1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat.   新建maven项目,添加findbugs plugin. 使用docker启动jenkins,go ...

  2. VSTO:使用C#开发Excel、Word【3】

    <Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath >——By Eric C ...

  3. 进程中的Manager(),实现多进程的数据共享与传递

    __author__ = "Alex Li" from multiprocessing import Process, Managerimport osdef f(d, l): d ...

  4. Linux音频驱动学习之:(1)ASOC分析

    一.音频架构概述 (1)ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和 ...

  5. Java 中的代理模式及动态代理

    原文:https://blog.csdn.net/briblue/article/details/73928350

  6. spin lock自旋锁 双链表操作(多线程安全)(Ring0)

    通过spin lock自旋锁 ,为每个链表都定义并初始化一个锁,在需要向该链表插入或移除节点时不使用前面介绍的普通函数,而是使用如下方法: ExInterlockedInsertHeadList(&a ...

  7. angular 离开页面相关操作

    $scope.$on("$destroy", function() { $interval.cancel(autoRefresh);})

  8. oracle sequence

    代码块 方法一: (1)删除序列; (2)重新创建: 这个方法比较简单粗暴. drop sequence sequence_name; create sequence sequence_name mi ...

  9. 使用zabbix-java-gateway可以通过该网关来监听多个JVM

    我们知道监控主机和网络性能指标情况可以使用zabbix很好解决,分析起来也很方便,Zabbix主要功能: - 自动发现服务器与网络设备 - 分布式监视以及WEB集中管理功能 - 可以无agent监视 ...

  10. Cleartext HTTP traffic to ... not permitted

    Android下APP出现java.io.IOException: Cleartext HTTP traffic to dict.youdao.com not permitted,百度查了一下是And ...