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',
 ……
# 所以不难推测,这个文件之前就是直接打印出结果然后复制到文件中的
Logo

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

更多推荐