出现“TypeError: '_io.TextIOWrapper'对象不可索引”错误是因为您正在尝试将一个文件对象(_io.TextIOWrapper)作为列表的索引来使用。这是不允许的,因为文件对象不支持索引操作。
解决这个问题的方法是首先将文件内容读取到一个列表中,然后再对列表进行索引操作。以下是一个示例代码,演示了如何读取文件内容并保存为不同大小的数组列表:
# 打开文件
file = open('file.txt', 'r')
# 读取文件内容并保存为列表
lines = file.readlines()
# 关闭文件
file.close()
# 创建不同大小的数组列表
array_lists = []
start_index = 0
for i, line in enumerate(lines):
if line.strip() == '': # 遇到空白行表示一个数组的结束
array = [int(x) for x in lines[start_index:i]] # 将起始索引到当前索引之间的行转换为整数列表
array_lists.append(array) # 将数组保存到列表中
start_index = i + 1
# 处理最后一个数组
if start_index < len(lines):
array = [int(x) for x in lines[start_index:]]
array_lists.append(array)
# 打印数组列表
for array in array_lists:
print(array)
在上述示例代码中,我们首先打开文件并读取其中的内容保存为列表。然后,我们遍历列表,遇到空白行时,将起始索引到当前索引之间的行转换为整数列表,并将其保存到数组列表中。最后,我们打印出数组列表。
请确保将file.txt
替换为您实际的文件路径。