首页 > 解决方案 > 从打开的文件将字符串转换为字典

问题描述

一个文本文件包含如下字典

{
 "A":"AB","B":"BA"
}

下面是python文件的代码

with open('devices_file') as d:
 print (d["A"])

结果应该打印出来AB

标签: python-3.x

解决方案


正如@rassar 和@Ivrf 在评论中建议的那样,您可以使用ast.literal_eval()json.loads()可以实现这一点。两个代码片段都输出AB.

解决方案ast.literal_eval()

import ast

with open("devices_file", "r") as d:
    content = d.read()
    result = ast.literal_eval(content)

print(result["A"])

解决方案json.loads()

import json

with open("devices_file") as d:
    content = json.load(d)

print(content["A"])

关于ast.eval_literal()json.load()的Python 文档。


另外:我注意到您在问题的代码段中没有使用正确的语法。缩进的行应该缩进 4 个空格,并且在print关键字和相关的括号之间不允许有空格。


推荐阅读