我试图将文本块从一个文本文件传递到一个反向的Burrows-Wheeler转换函数中,我得到了列表索引超出范围的错误,不知道为什么。我正在读取一个应用了BWT的文本文件,将其分成大小为block_size
的块,并将它们存储在一个列表text
。然后我尝试对text
中的每个元素调用inverse
。在
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
列表导致了错误吗?在
目前没有回答
相关问题 更多 >
编程相关推荐