将python字典写入文本文件
我想在一个文本文件中编写python字典,其中每行包含一个键及其值,逗号作为分隔符。我正在使用以下代码:将python字典写入文本文件,python,dictionary,text,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)) 但它返回以下错误类型错误:预期的str、bytes或os.PathLike对象,而不是list它应该可以处理此错误: wit
with open(compounds, 'w') as f:
for key, value in dict_NTID_IDs_in_EisDatabase.items():
f.write('%s:%s\n' % (key, value))
但它返回以下错误类型错误:预期的str、bytes或os.PathLike对象,而不是list它应该可以处理此错误:
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()
返回一个元组((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]))
我希望它能帮助你
dic = {'Python' : '.py', 'C++' : '.cpp', 'Java' : '.java'}
f = open("dic.txt","w")
f.write( str(dic) )
f.close()
问题是,在初始化复合文件时,由于它是一个列表,因此不能将其解释为文件路径。 把这个放在代码之前:
components=“my_dict.txt”
这将把你的字典写入你所在目录中的一个文件中。你可以检查你所在的目录,或者用软件包更改它。看起来像是一个列表。请改为使用字符串。否,components是一个textfiles。由于预期的对象是os.PathLike,这表明异常来自open()。“化合物”的类型是什么?@smvpfm,您正在使用
:
作为分隔符。EisDatabase中的dict\u NTID\u IDs\u中的键/值是什么样子的??我收到这个错误,应该是str、bytes或os.PathLike对象,而不是list。我更改了文件名,现在它可以工作了,谢谢!