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计算时间差的方法
May 20 Python
Python中的下划线详解
Jun 24 Python
用tensorflow构建线性回归模型的示例代码
Mar 05 Python
Python代码缩进和测试模块示例详解
May 07 Python
mac 安装python网络请求包requests方法
Jun 13 Python
PyCharm配置mongo插件的方法
Nov 30 Python
Python动态赋值的陷阱知识点总结
Mar 17 Python
python字典改变value值方法总结
Jun 21 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
如何基于python对接钉钉并获取access_token
Apr 21 Python
pycharm永久激活超详细教程
Oct 29 Python
python如何构建mock接口服务
Jan 28 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
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
php生成zip文件类实例
2015/04/07 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
django实现分页的方法
2015/05/26 Python
python 异常处理总结
2016/10/18 Python
Python如何通过subprocess调用adb命令详解
2017/08/27 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
使用python3实现操作串口详解
2019/01/01 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
《小池塘》教学反思
2014/02/28 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
大学生毕业个人总结
2015/02/15 职场文书
教师个人自我评价
2015/03/04 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
React更新渲染原理深入分析
2022/12/24 Javascript