如何使用fout函数正确写入输出?

时间:2019-03-27 08:31:49

标签: python python-3.x

我正在尝试使用python文件系统读写文件,但是遇到一些问题。我相信阅读/打开功能是正确的,但是写作却给我带来了困难。

我正在一个反转字典的函数中执行此操作,但我希望它从文本文件中读取字典,而不是在代码内执行此操作,这就是我的调用方式(虽然不是很漂亮,但是可以工作):

MTLBlitCommandEncoder

但是,在将反向字典写入文件时,我却惨败。打印反转的字典的函数调用是d = fin = open('dict.txt') ,所以我认为我应该尝试这样写:

invert_dict(d)

这显然是错误的,但这就是我从读书中得到的。这是我的原始反向字典函数:

invert_dict(d) = fout = open('output.txt', 'w')

我应该如何改进我的代码?预先感谢。

1 个答案:

答案 0 :(得分:1)

您的代码相当不错,仅使用items进行循环会更好,并且setdefault也更容易:

def invert_dict(d):
    print(' the dictionary is \n' , d)
    inverse = {}
    for k,v in d.items():
        for i in v:
            inverse.setdefault(i,[]).append(k)
    return inverse

编辑:

以前被误解了,所以您应该使用:

import json
d = fin = json.loads(open('dict.txt'))
with open('output.txt', 'w') as fout:
    fout.write(invert_dict(d))