【问题标题】:python 3 with json dictionarypython 3 与 json 字典
【发布时间】:2020-10-26 13:00:24
【问题描述】:

我目前正在做一个项目,我已将字典列表保存到 JSON 文件中,以行分隔。

如何将 JSON 字典转换回 PYTHON 程序,将其恢复为原始变量名?

假设我有一个这样的字典列表:

a = { "a":1, "b":2, "c":3}
b = {"alpha":1, "bravo": 2, "charlie":3}

我已通过这样做将其转换为 JSON 文件:

with open('example.txt', 'w') as outfile:
    json.dump(a, outfile)
    outfile.write('\n')
    json.dump(b, outfile)

当我再次打开程序时,我希望通过加载 JSON 文件来保存它,将每个 JSON 字典分隔到每个 Python 字典中。 任何帮助将不胜感激。

【问题讨论】:

  • 请不要大喊大叫
  • 为什么不将它们放在一个列表中,以便将它们保存为 JSON 数组?
  • 我该怎么做?我对 Python 和 JSON 有点陌生

标签: python json list file dictionary


【解决方案1】:

由于字典将在不同的行中,您只需阅读这些行并使用json 模块将每一行解析为字典。像这样的:

with open("example.txt", "r") as infile:
    lines = infile.read().splitlines()
    a = json.loads(lines[0])
    b = json.loads(lines[1])

使用infile.read().splitlines() 将删除两个JSON 之间不需要的\n

【讨论】:

    【解决方案2】:

    with 块的缩进不正确。所有引用 outfile 变量的代码都应该在该块内缩进,否则在执行下面的代码时文件资源将关闭。

    【讨论】:

      猜你喜欢
      • 2017-07-18
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-31
      • 1970-01-01
      相关资源
      最近更新 更多