Python:将数组值写入文件

时间:2015-04-28 11:53:08

标签: python arrays file append

我正在编写一个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,所以请原谅我缺乏经验。提前感谢您的帮助! :)

1 个答案:

答案 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