我一直在尝试开发一个程序,它将从文件中获取一个唯一单词列表和一个索引列表来创建原始文本但我无法从str转换回整数。
file=open("compressed_file_words.txt", "r")
listofwords = file.read()
file=open("compressed_file_word_positions.txt", "r")
positions = file.read()
for i in positions:
reconstructed_text = reconstructed_text + listofwords[i] + " "
此操作失败并出现以下错误 TypeError:字符串索引必须是整数
如何将str转换回int?我尝试了各种方法但似乎都没有工作
答案 0 :(得分:0)
试试这个:
for i in range(0, len(positions)):
reconstructed_text = reconstructed_text + listofwords[i] + " "
您的问题是positions
实际上不是整数,因此i
不是整数。 for
将逐字遍历position
的每个元素,并为i
块的目的命名该元素for
。由于你的块假设一个整数但是得到一个字符串(文件中的一行),你需要使你的迭代器成为一个与positions
长度相关的整数。
请注意,您可能会误导read
并且实际上正在寻找readlines
。