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 opencv 直方图反向投影的方法
Feb 24 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
对python模块中多个类的用法详解
Jan 10 Python
python游戏地图最短路径求解
Jan 16 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
python 实现在一张图中绘制一个小的子图方法
Jul 07 Python
Python爬虫抓取技术的一些经验
Jul 12 Python
python自动分箱,计算woe,iv的实例代码
Nov 22 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
用pushplus+python监控亚马逊到货动态推送微信
Jan 29 Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
May 24 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
PHP 如何向 MySQL 发送数据
2006/10/09 PHP
PHP UTF8编码内的繁简转换类
2009/07/20 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
js实现微信聊天界面
2020/08/09 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
python单链表实现代码实例
2013/11/21 Python
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
python对excel文档去重及求和的实例
2018/04/18 Python
python程序控制NAO机器人行走
2019/04/29 Python
django迁移数据库错误问题解决
2019/07/29 Python
python生成器推导式用法简单示例
2019/10/08 Python
Python hmac模块使用实例解析
2019/12/24 Python
Numpy数组的广播机制的实现
2020/11/03 Python
简述DNS进行域名解析的过程
2013/12/02 面试题
静态成员和非静态成员的区别
2012/05/12 面试题
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
同学聚会感言一句话
2015/07/30 职场文书
ipad隐藏软件app图标方法
2022/04/19 数码科技
Python first-order-model实现让照片动起来
2022/06/25 Python