import zipfile import time loops = 10; def main(): filename = input("Enter filename: "); zf = zipfile.ZipFile(filename, mode='r'); namelist = zf.namelist(); if len(namelist) == 0: print("Empty zip file! %s" % filename); else: print("Timing unbuffered read, 5 bytes at a time. %s loops" % loops); start = time.time(); for i in range(loops): file = zf.open(namelist[0]); read = file.read; vals = read(5); while vals != b"": vals = read(5); file.close(); print("took %s" % (time.time() - start)); print("Timing buffered read, 5 bytes at a time (4000 byte buffer). %s loops" % loops); start = time.time(); for i in range(loops): file = zf.open(namelist[0]); read = file.read; buff = read(4000); while buff != b"": for i in range(0,len(buff),5): vals = buff[i:i+5]; buff = read(4000); file.close(); print("took %s" % (time.time() - start)); zf.close(); if __name__ == "__main__": main();