Индекс списка Python вне диапазона при выполнении обратного BWT

Я пытаюсь передать блоки текста в обратную функцию Burrows-Wheeler Transform из текстового файла, и я получаю индекс списка из ошибок диапазона, не знаю почему. Я читаю текстовый файл, к которому применен BWT, разбив его на блоки размера block_size и хранить их в списке text, Я тогда попробую позвонить inverse на каждом элементе в text,

def inverse(s):
    L = [''] * block_size                                     
    for i in range(block_size):
        L = sorted([s[i] + L[i] for i in range(block_size)])   
    with open(sys.argv[2], 'a') as output_file:
        output_file.write([x for x in L if x.endswith('\0')][0][:-1])

with open(sys.argv[1], 'r') as input_file:
    while block_size:
        block = input_file.read(block_size)
        if not block:
            break
        text.append(block)
    for block in text:
        inverse(block)

Если я вместо этого передать весь текстовый файл в inverse не разбивая его, он работает нормально; но я хочу разбить мой текст на управляемые куски. Это мой text список, который вызывает ошибку?

0 ответов

Другие вопросы по тегам