鉴于报告(只是字典)和文件名,我希望能够将所有报告内容写入提供的文件名。我想确保我不会覆盖文件名中的任何内容。这就是我所拥有的:
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'
如何将某些内容添加到文件中?
答案 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)
那里有两个错误。
写入文件的方法是write()
,而不是append()
您在close()
上呼叫string
,您应该close()
文件对象input_filename
。
此外,您可能希望将input_filename
重命名为output_file
。