Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将python字典写入文本文件_Python_Dictionary_Text - Fatal编程技术网

将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

我想在一个文本文件中编写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

它应该可以处理此错误:

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。我更改了文件名,现在它可以工作了,谢谢!