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 29 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
python 读写txt文件 json文件的实现方法
Oct 22 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
Python通过命令开启http.server服务器的方法
Nov 04 Python
Python补齐字符串长度的实例
Nov 15 Python
Python实现二维曲线拟合的方法
Dec 29 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
Python线程障碍对象Barrier原理详解
Dec 02 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
Python 使用dict实现switch的操作
Apr 07 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
PHP防盗链代码实例
2014/08/27 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
JS实现程序暂停与继续功能代码解读
2013/10/10 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
nodeJS微信分享
2017/12/20 NodeJs
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
详解python中的数据类型和控制流
2019/08/08 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
python 使用事件对象asyncio.Event来同步协程的操作
2020/05/04 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
生产部管理制度
2014/01/31 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
学校消防安全责任书
2014/07/23 职场文书
售后服务质量承诺书
2015/04/29 职场文书
2015年保洁员工作总结
2015/05/04 职场文书
vue+iview实现手机号分段输入框
2022/03/25 Vue.js
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python