python实现比较文件内容异同


Posted in Python onJune 22, 2018

本文实例为大家分享了python实现比较文件内容异同的具体代码,供大家参考,具体内容如下

import sys
import difflib
import time
import os
"""
创作时间:2017-10-08 23:30 09
版本: 1.0.0
"""
def main():
  """主函数"""
  try:
    f1 = sys.argv[1]#获取文件名
    f2 = sys.argv[2]
  except Exception as e:
    print("Error: "+ str(e))
    print("Usage : python compareFile.py filename1 filename2")
    sys.exit()

  if f1 == "" or f2 == "":#参数不够
    print("Usage : python compareFile.py filename1 filename2")
    sys.exit()

  tf1 = readFile(f1)
  tf2 = readFile(f2)

  d = difflib.HtmlDiff()#创建一个实例difflib.HtmlDiff
  writeFile(d.make_file(tf1,tf2))#生成一个比较后的报告文件,格式为html

def readFile(filename):
  """读取文件,并处理"""
  try:
    fileHandle = open(filename, "r")
    text = fileHandle.read().splitlines()
    fileHandle.close()
    return text
  except IOError as e:
    print("Read file error: "+ str(e))
    sys.exit()

def writeFile(file):
  """写入文件"""
  diffFile = open('diff_{}_.html'.format(time.strftime("%Y_%m_%d_%H_%M_%S",time.localtime())), "w")
  diffFile.write("<meta charset='UTF-8'>")
  diffFile.write(file)
  print("The file on {}".format(os.path.abspath(str(diffFile.name))))#提示文件生成在什么地方
  diffFile.close()


if __name__ == "__main__":
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 基础学习第二弹 类属性和实例属性
Aug 27 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
Python+微信接口实现运维报警
Aug 27 Python
Python random模块用法解析及简单示例
Dec 18 Python
深入理解Python 关于supper 的 用法和原理
Feb 28 Python
Python爬虫实现(伪)球迷速成
Jun 10 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
python 图片去噪的方法示例
Jul 09 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 Python
如何用python处理excel表格
Jun 09 Python
python 如何引入协程和原理分析
Nov 30 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 Python
python实现输入数字的连续加减方法
Jun 22 #Python
Python之用户输入的实例
Jun 22 #Python
Python交互环境下实现输入代码
Jun 22 #Python
python实现搜索文本文件内容脚本
Jun 22 #Python
python实现textrank关键词提取
Jun 22 #Python
python实现自主查询实时天气
Jun 22 #Python
python实现定时提取实时日志程序
Jun 22 #Python
You might like
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
js 内存释放问题
2010/04/25 Javascript
JsDom 编程小结
2011/08/09 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
Python数组条件过滤filter函数使用示例
2014/07/22 Python
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Python3 模块、包调用&amp;路径详解
2017/10/25 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
英文简历中的自我评价
2013/10/06 职场文书
大学生思想汇报范文
2013/12/31 职场文书
旅游个人求职信范文
2014/01/30 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
2015年安全生产责任书
2015/01/30 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA