我正在编写一个python项目,该项目涉及我阅读文件并使用文件中的整数值填充数组,执行一个完全疯狂的非重要过程(tic tac toe game)然后在最后,添加数组(赢)到数组并将其打印回文件。
这是我的文件阅读代码:
highscores = []
#Read values from file and put them into array
file = open('highscore.txt', 'r') #read from file
file.readline() #read heading line
for line in file:
highscores.append(file.readline())
file.close() #close file
这是我的文件编写代码:
highscores.append(wins)
# Print sorted highscores print to file
file = open('highscore.txt', 'w') #write to file
file.write('Highscores (number of wins out of 10 games):') #write heading line
for i in len(highscores):
file.write(highscores[i])
file.close() #close file
目前我的整个程序一直运行,直到我在我的文件编写代码中读取行:for i in len(highscores):
。我得到了' TypeError:' int'对象不可迭代。
我只是想知道我是否走上正轨以及如何解决这个问题。我还想要注意,我读取和写入的这些值需要是整数类型而不是字符串类型,因为我可能需要在将新值写入现有数组之前将其重新写入文件。
我通常不会使用python,所以请原谅我缺乏经验。提前感谢您的帮助! :)
答案 0 :(得分:6)
for
循环将要求i迭代迭代的值,并且您提供单个int
而不是iterable
对象
你应该迭代range(0,len(highscores))
:
for i in (0,len(highscores))
或更好,直接遍历数组
highscores.append(wins)
# Print sorted highscores print to file
file = open('highscore.txt', 'w') #write to file
file.write('Highscores (number of wins out of 10 games):')
for line in highscores:
file.write(line)
file.close() #close file