import struct import os import subprocess import argparse import itertools import operator class StructReader(struct.Struct): def read(self, file): return self.unpack(file.read(self.size)) def read_iter(self, file, count=-1): yield from self.iter_unpack(file.read(max(count * self.size, -1))) def parse_fat(raw_table): FATEntry = StructReader('