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 pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
全面了解python字符串和字典
Jul 07 Python
python模仿网页版微信发送消息功能
Feb 24 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
为什么python比较流行
Jun 19 Python
基于K.image_data_format() == 'channels_first' 的理解
Jun 29 Python
Python用来做Web开发的优势有哪些
Aug 05 Python
Python 解析xml文件的示例
Sep 29 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
西德产收音机
2021/03/01 无线电
php下将XML转换为数组
2010/01/01 PHP
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
header跳转和include包含问题详解
2012/09/08 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
jQuery的三种$()
2009/12/30 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
JavaScript函数表达式详解及实例
2017/05/05 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
微信小程序 Storage更新详解
2019/07/16 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
python发送邮件接收邮件示例分享
2014/01/21 Python
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Python Sleep休眠函数使用简单实例
2015/02/02 Python
Python分析学校四六级过关情况
2017/11/22 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
教师自我反思材料
2014/02/14 职场文书
《学棋》教后反思
2014/04/14 职场文书
小学生操行评语
2014/04/22 职场文书
微电影大赛策划方案
2014/06/05 职场文书
铣工实训报告
2014/11/05 职场文书
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python