python将文件读入的字符串变成字典
????1.常规做法常规的针对的是每行一个字典元素d = {}with open("file.txt") as f:for line in f:(key, val) = line.split()d[int(key)] = val或者with open('infile.txt') as f:d = dict(x.rstrip().split(None, 1) for x in f)????2. 我遇
·
1.常规做法
常规的针对的是每行一个字典元素
d = {}
with open("file.txt") as f:
for line in f:
(key, val) = line.split()
d[int(key)] = val
或者
with open('infile.txt') as f:
d = dict(x.rstrip().split(None, 1) for x in f)
2. 我遇到的奇葩
不过我遇到的情况是,一整个dict被直接写入到txt文件中,不是一个key,一个value一行。其实也很简单,直接用json去加载,但是这个文件比较坑的地方是,都使用的单引号,导致报错:JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
整体代码:
# 读取文件
with open(labelPath,"r",encoding='utf8') as f:
labelDict=f.readline()
# 单引号变成双引号,使用json加载
import json
label=json.loads(labelDict.replace("\'","\""))
labelDict=dict(label)
>> labelDict
{'9264.jpg': '3952',
'2666.jpg': '7535',
'7172.jpg': '6159',
'3277.jpg': '4017',
'6088.jpg': '0558',
'71.jpg': '1429',
……
# 所以不难推测,这个文件之前就是直接打印出结果然后复制到文件中的

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)