二进制文件比较工具python

二进制文件比较工具python

# -*- coding: utf-8 -*-
import sys
import time
import binascii
import serial
import serial.tools.list_ports
import logging
import os
import struct
import datetime

logging.basicConfig(format=%(asctime)s,%(msecs)d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s,
                    datefmt=%d-%m-%Y:%H:%M:%S)

logging.getLogger().setLevel(logging.ERROR)
logger = logging.getLogger()
u8_lit = struct.Struct(B)
s8_lit = struct.Struct(b)
u16_lit = struct.Struct(<H)
s16_lit = struct.Struct(<h)
u32_lit = struct.Struct(<I)
s32_lit = struct.Struct(<i)
double_lit = struct.Struct(<d)
float_lit = struct.Struct(<f)
u16_big = struct.Struct(>H)
s16_big = struct.Struct(>h)
u32_big = struct.Struct(>I)
s32_big = struct.Struct(>i)
double_big = struct.Struct(>d)
float_big = struct.Struct(>f)
support_dbg_out = 0
support_dbg_send_frame = 1

if __name__ == __main__:
    while True:
        print(---------------------------------)
        print(bin比较工具)
        print(---------------------------------)
        src1 = input(源文件1:)
        src2 = input(源文件2:)
        try:
            temp1 = open(src1,rb)
            temp2 = open(src2, rb)
            out1 = temp1.read(1024*1024*10)
            out2 = temp2.read(1024 * 1024*10)
            temp1.close()
            temp2.close()
            print(len(out1), len(out2))
            if len(out1) != len(out2):
                print(size err.)
            mark = 0
            for i in range(0, len(out1)):
                if out1[i] != out2[i]:
                    print(err:%d %x %x%(i,out1[i], out2[i]))
                    mark = 1
            if mark == 0:
                print(无异常)
        except Exception as e:
            print(e)
经验分享 程序员 微信小程序 职场和发展