【发布时间】:2016-07-31 14:58:18
【问题描述】:
我正在编写一个测验,学生完成测验后,在保存分数时,我试图确保将学生的最后三个分数保存到他们的名字中。如果他们之前没有完成过测验,则会在文本文件中为他们写一个新行。
filename = (str(class_number) + 'txt')
with open(filename, 'a') as f:
f.write(str(name) + " : " + str(score) + '\n')
with open(filename) as f:
lines = [line for line in f if line.strip()]
lines.sort()
with open(filename) as f:
f.seek(0)
scores = f.readline()
from collections import deque
for line in scores:
score= int(score)
if name not in f:
f[name] = deque(maxlen=3)
temp_q = filename[name]
temp_q.append(str(score))
filename[name] = temp_q
filehandle = open (filename, 'w')
for key,values in filename.iteritems():
filehandle.write(name + ',')
filehandle.write (','.join(list(values)) + '\n')
filehandle.close()
这是错误:
f[name] = deque(maxlen=3)
TypeError '_io.TextIOWrapper' object does not support item assignment
【问题讨论】:
标签: python random collections typeerror deque