import numpy as np import pdb def open_files(filenames: str) -> list: files = [] for f in filenames: files.append(open(f, "r")) return files # on lit un bit par fichier sur les 7 filenames = ["channel_"+ str(i) for i in range(1,9)] files = open_files(filenames) total_bits = [] current_row_bits = [] eof = 0 while not eof: for f in files[:-1]: bit = f.read(1) current_row_bits += bit parity_bit = files[-1].read(1) if len(current_row_bits) != 7: eof = 1 break if current_row_bits.count('1') % 2 != int(parity_bit): current_row_bits[3] = str((int(current_row_bits[3])+1)%2) total_bits.extend(current_row_bits) current_row_bits = [] print("".join(total_bits))