zoukankan      html  css  js  c++  java
  • diff

    最近在学习html感觉眼睛要看瞎了,就写了个文件对比的小玩意,只是简单改了下difflib在这里分享之.写完才发现好像svn和编辑器有这个功能不过只是对比一个文件的历史版本,不知道可不可以对比不同的文件.不能整大文件用.哈哈哈

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2017/3/18 16:17
    # @Author  : sylar
    # @Site    : 
    # @File    : diff.py
    # @Software: PyCharm
    
    import difflib
    import sys
    
    #获取输入文件
    try:
        textfile1=sys.argv[1]
        textfile2=sys.argv[2]
    except Exception,e:
        print("Error:"+str(e))
        print("Usage: python diff.py filename1 filename2 >diff.html!")
    
    #读取文件函数
    def readfile(filename):
        try:
            fileHandle = open(filename,'rb')
            text=fileHandle.read().splitlines()
            fileHandle.close()
            return text
        except IOError as error:
            print("readfile error:"+str(error))
            sys.exit()
    
    #默认生成的html不支持utf8.做了下字符串拼接的函数
    def utf8_str(msg):
        meta_str = '<meta charset="UTF-8">'
        msg = msg.split('<head>')
        out_html = '{0}{1}
        {2}{3}'.format(msg[0], '<head>',meta_str, msg[1])
        return out_html
    
    #简单检查参数 
    if textfile1 == "" or textfile2 == "":
        print("Usage: python diff.py filename1 filename2 >diff.html!")
        sys.exit()
    
    #将文件读入内存
    text1_lines = readfile(textfile1)
    text2_lines = readfile(textfile2)
    
    #实例化HtmlDiff()
    d = difflib.HtmlDiff()
    
    #对比文件
    msg = d.make_file(text1_lines, text2_lines)
    out_html = utf8_str(msg)
    
    print(out_html)
    

  • 相关阅读:
    初涉数组
    声明
    简述java程序中的main方法
    概述java语言
    1.3 linux基础(三)
    linux基础之-screen命令
    1.2 linux基础(二)
    1.1 Linux基础(一)
    实验7-1-13 装箱问题
    实验7-1-12 组个最小数
  • 原文地址:https://www.cnblogs.com/ops-sylar/p/6579816.html
Copyright © 2011-2022 走看看