如何将字典报告写入文件

时间:2013-11-23 17:08:37

标签: python dictionary python-3.3

鉴于报告(只是字典)和文件名,我希望能够将所有报告内容写入提供的文件名。我想确保我不会覆盖文件名中的任何内容。这就是我所拥有的:

def write_report(r, filename):
input_filename=open(filename, "a")
new_report= input_filename.append(r)
filename.close()
return new_report

但是我在测试时遇到了这个错误: AttributeError:'_ io.TextIOWrapper'对象没有属性'append'

如何将某些内容添加到文件中?

2 个答案:

答案 0 :(得分:1)

使用json模块将字典写入文件;

>>> import json
>>> d = dict.fromkeys('abcde')
#Write
with open('abc.json', 'w') as f:
    json.dump(d, f)
#Read
with open('abc.json') as f:
    print (json.load(f))
...     
{'a': None, 'b': None, 'c': None, 'd': None, 'e': None}

答案 1 :(得分:0)

那里有两个错误。

  1. 写入文件的方法是write(),而不是append()

  2. 您在close()上呼叫string,您应该close()文件对象input_filename

  3. 此外,您可能希望将input_filename重命名为output_file