代码不保存到文件

时间:2016-01-30 12:48:28

标签: python list dictionary

我有运行但不保存文本文件的代码吗?

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

我是新手,所以感谢任何帮助

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