将字典写入文件[重复]
Posted
技术标签:
【中文标题】将字典写入文件[重复]【英文标题】:Writing a dictionary to file [duplicate] 【发布时间】:2017-09-11 22:37:29 【问题描述】:由于有希伯来字母,我无法使用 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
。有没有更方便的方法来做到这一点?
文本.txt 托尼塔 4 tt 5
有什么更好的方法而不是把我的字典变成列表然后访问字典来查找值?
【问题讨论】:
【参考方案1】:因此,我没有将字典转换为列表,而是将其转换为字符串,然后进行了一些字符串操作。我不确定您是否会认为这是一种“更好”或“更方便”的方式。
import codecs
import re
if __name__ == '__main__':
k = dict()
k['tony ta'] = 4
k['tt '] = 5
with codecs.open('text.txt', 'w', 'utf-8') as f:
f.write(re.sub(r"[:']",'',str(k).replace(', ','\n')))
【讨论】:
【参考方案2】:你可以使用:
with codecs.open('text.txt', 'w', 'utf-8') as f:
for key in k:
f.write("%s %s\n", key, str(k[key]))
【讨论】:
以上是关于将字典写入文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章