This errors:
persistence.write_dict_uint32_to_list_of_uint32s(output_file, { k: [] for k in read_set_of_uint32s(input_file) })This fixes that error:
set_value = persistence.read_set_of_uint32s(input_file) persistence.write_dict_uint32_to_list_of_uint32s(output_file, { k: [] for k in set_value })Another error at another location:
persistence.write_set_of_uint32s(output_file, persistence.read_set_of_uint32s(input_file))Some simple rearranging makes this error go away:
set_value = persistence.read_set_of_uint32s(input_file) persistence.write_set_of_uint32s(output_file, set_value)And finally, the next error at another location:
def read_string(f): s = "" while 1: v = f.read(1) # errors here if v == '\0': break s += v return sAnd the fix for this:
def read_bytes(f, num_bytes): return f.read(num_bytes) def read_string(f): s = "" while 1: v = read_bytes(f, 1) if v == '\0': break s += v return sThis error seems like a horribly broken idea, that is popping up in places it wasn't intended.