将python字典写入文本文件

时间:2017-11-14 12:16:22

标签: python dictionary text

我想在文本文件中编写我的python字典,其中每行包含一个键及其值,逗号为分隔。我使用以下代码:

with open(compounds, 'w') as f:
    for key, value in dict_NTID_IDs_in_EisDatabase.items():
        f.write('%s:%s\n' % (key, value))

但它返回以下错误TypeError:预期的str,bytes或os.PathLike对象,而不是列表

3 个答案:

答案 0 :(得分:1)

问题在于,初始化它的化合物不能被解释为文件路径,因为它是一个列表。 把它放在那段代码之前:

compounds = "my_dict.txt"

这会将您的字典写入您所在目录中的文件中。您可以查看您所在的目录,或使用os包更改它。

答案 1 :(得分:0)

它应该适用于此:

with open(compounds, 'w') as f:
    for key, value in zip(dict_NTID_IDs_in_EisDatabase.keys(), dict_NTID_IDs_in_EisDatabase.values()):
        f.write('%s,%s\n' % (key, value))

您也可以使用dict.items(),但dict.items()会返回tuple ((key0, value0), (key1, value1) ...)

要回到您的问题,您可以使用:

with open(compounds, 'w') as f:
    for item in dict_NTID_IDs_in_EisDatabase.items():
        f.write('%s,%s\n' % (item[0], item[1]))

答案 2 :(得分:0)

我希望它会对你有所帮助!

dic = {'Python' : '.py', 'C++' : '.cpp', 'Java' : '.java'}
f = open("dic.txt","w")
f.write( str(dic) )
f.close()