Python读取含斜杠字典值报错'string indices must be integers'求解决
问题分析
报错'string indices must be integers'的核心原因是:部署环境中var_1是字符串类型,而非字典类型。用字符串去索引字典键(["key_2"]),必然触发类型错误。
本地运行正常大概率是因为你直接给var_1赋值了字典对象,而非通过input()读取字符串格式的输入。
正确解决方案
你提到尝试过json.loads()但无效,大概率是写法错误,正确步骤如下:
- 导入json模块
- 用
json.loads()直接解析input()获取的字符串,将其转为字典对象
示例代码:
import json # 读取输入字符串并转为字典 var_1 = json.loads(input()) # 正常读取key_2的值 var_2 = var_1["key_2"]
排查要点
如果仍报错,检查以下内容:
- 确认输入的字符串是标准JSON格式:键和值必须用双引号(单引号在JSON中不合法),无多余逗号或格式错误
- 部署环境的输入是否和本地测试输入完全一致,比如是否存在转义字符缺失、空格差异等问题
内容的提问来源于stack exchange,提问作者Nani
相关产品推荐
相关产品推荐

