如何在.txt文件中读取字典?

时间:2018-03-09 15:32:45

标签: python file dictionary text

我有一个文件output.txt,其内容已经是python词典格式:

output.txt = {'id':123, 'user': 'abc', 'date':'20-08-1998'}

当我将文件读入python时,我得到以下内容:

f = open('output.txt','r', encoding='utf8')
print(f)
>>> <_io.TextIOWrapper name='output.txt' mode='r' encoding='utf8'>

如何以python词典的形式阅读文件?

我尝试使用dict()构造函数,但是我收到了这个错误:

f = dict(open('output.txt','r', encoding='utf8'))
ValueError: dictionary update sequence element #0 has length 15656; 2 is required

1 个答案:

答案 0 :(得分:0)

您可以使用json模块:

with open('output.txt', 'r') as f:
    my_dict = json.loads(f.read())

但是JSON requires double quotes,所以这对您的文件无效。解决方法是使用replace()

with open('output.txt', 'r') as f:
    my_dict = json.loads(f.read().replace("'", '"')

print(my_dict)
#{u'date': u'20-08-1998', u'id': 123, u'user': u'abc'}