Skip to content

Instantly share code, notes, and snippets.

@GeoffWilliams
Created September 21, 2019 03:06

Revisions

  1. GeoffWilliams created this gist Sep 21, 2019.
    38 changes: 38 additions & 0 deletions pydiskcomp.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,38 @@
    import os

    afile = "sdcard.img"
    bfile = "sdcard.img.manualworks"

    afilediff = "sdcard.img.diff"
    bfilediff = "sdcard.img.manualworks.diff"

    afile_size = os.path.getsize(afile)
    bfile_size = os.path.getsize(bfile)

    if afile_size != bfile_size:
    raise "different sizes!"

    incident = 0
    with open(afile, 'rb') as af:
    with open(bfile, 'rb') as bf:
    pos = 0
    while(pos < afile_size):
    pos = af.tell()
    a_sect = af.read(512)
    b_sect = bf.read(512)


    if (a_sect != b_sect):
    print(f"different data at byte {pos} (sector {pos/512})")
    print("a_file")
    print(str(a_sect))
    print("b_file")
    print(str(b_sect))
    print()

    with open(f"afilediff-{incident}", 'wb') as afd:
    afd.write(a_sect)
    with open(f"bfilediff-{incident}", 'wb') as bfd:
    bfd.write(b_sect)

    incident += 1