Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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_Python 3.x - Fatal编程技术网

Python 将字典写入文件

Python 将字典写入文件,python,python-3.x,Python,Python 3.x,我无法使用json.dump将字典写入文件,因为该文件包含希伯来文字母,而该文件仅包含英文字母中的垃圾 import codecs if __name__ == '__main__': k = dict() k['tony ta'] = 4 k['tt '] = 5 l = list(k) with codecs.open('text.txt', 'w', 'utf-8') as f: for i in range (0, len(l))

我无法使用
json.dump
将字典写入文件,因为该文件包含希伯来文字母,而该文件仅包含英文字母中的垃圾

import codecs

if __name__ == '__main__':
    k = dict()
    k['tony ta'] = 4
    k['tt '] = 5
    l = list(k)
    with codecs.open('text.txt', 'w', 'utf-8') as f:
        for i in range (0, len(l)):
            f.write('\n'+(l[i]) + ' ' + str(k[l[i]]))
使用编解码器,我能够正确地编写它,并获得我想要的结果。对于这个演示,我使用的是
open
。有没有更方便的方法

text.txt
托尼塔4
tt 5


有没有更好的方法,不必将字典转换为列表,然后访问字典来查找值?

因此,我没有将字典转换为列表,而是将其转换为字符串,然后执行一些字符串操作。我不确定你是否会认为这是“更好”还是“更方便”的方式。

您可以使用:

with codecs.open('text.txt', 'w', 'utf-8') as f:
    for key in k:
        f.write("%s %s\n", key, str(k[key]))
with codecs.open('text.txt', 'w', 'utf-8') as f:
    for key in k:
        f.write("%s %s\n", key, str(k[key]))