我有运行但不保存文本文件的代码吗?
def saving_multiple_scores():
with open(class_number) as file:
dic = {}
for line in file:
key, value = line.strip().split(':')
dic.setdefault(key, []).append(value)
file.write(dic)
with open(class_number, 'a') as file:
for key, value in dic.items():
file.write(key + ':' + ','.join(value) + '\n')
print(dic)
应检查名称是否已存在于文件中,如果是,则添加分数 如果没有,则创建一个包含分数的新列表。
然而,没有任何东西可以储蓄。 Python,IDLE V3.4.2
我是新手,所以感谢任何帮助
答案 0 :(得分:0)
第一个with
无法正常工作,因为该文件为空且for
循环遍历文件中的行
open
模式的默认设置(请参阅wildcard route
)是只读的,因此file.write(dic)
无法使用
答案 1 :(得分:0)
扩展Pawel的建议,以下是修复代码的方法:
alice:1
alice:2
alice:3
bob:1
alice:4
bob:2
示例输入文件:
alice:1
alice:2
alice:3
bob:1
alice:4
bob:2
bob:1,2
alice:1,2,3,4
示例输出文件:
.smart