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 30 Python
对Python新手编程过程中如何规避一些常见问题的建议
Apr 01 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
浅谈Pytorch中的torch.gather函数的含义
Aug 18 Python
Python API自动化框架总结
Nov 12 Python
new_zeros() pytorch版本的转换方式
Feb 18 Python
python连接mysql数据库并读取数据的实现
Sep 25 Python
如何用Python编写一个电子考勤系统
Feb 08 Python
pandas 按日期范围筛选数据的实现
Feb 20 Python
解决Pytorch中关于model.eval的问题
May 22 Python
matplotlib画混淆矩阵与正确率曲线的实例代码
Jun 01 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
附件名前加网站名
2008/03/23 PHP
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
JavaScript中创建对象的模式汇总
2016/04/19 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
Vue指令指令大全
2019/02/09 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python简单实现旋转图片的方法
2015/05/30 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
Python退火算法在高次方程的应用
2018/07/26 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
基于python实现把图片转换成素描
2019/11/13 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
十一酒店活动方案
2014/02/20 职场文书
施工安全责任书范本
2014/07/24 职场文书
售房委托书
2014/08/30 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
教师先进事迹材料
2014/12/16 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL