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 相关文章推荐
windows下安装python paramiko模块的代码
Feb 10 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
Python中的ctime()方法使用教程
May 22 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
有趣的python小程序分享
Dec 05 Python
python实现在pandas.DataFrame添加一行
Apr 04 Python
Django之使用celery和NGINX生成静态页面实现性能优化
Oct 08 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
聊聊python中的异常嵌套
Sep 01 Python
pycharm2020.2 配置使用的方法详解
Sep 16 Python
python 用pandas实现数据透视表功能
Dec 21 Python
如何用Matlab和Python读取Netcdf文件
Feb 19 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
用缓存实现静态页面的测试
2006/12/06 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
javascript类继承机制的原理分析
2009/09/12 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
python解释器spython使用及原理解析
2019/08/24 Python
Python图片的横坐标汉字实例
2019/12/04 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
django中cookiecutter的使用教程
2020/12/03 Python
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
怎样声明接口
2014/09/19 面试题
总经理秘书的岗位职责
2013/12/27 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
小学师德师风整改措施
2014/10/27 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
mysql联合索引的使用规则
2021/06/23 MySQL
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL