我想在文本文件中编写我的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对象,而不是列表
答案 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()