python - 写入 JSON 文件并更新所述文件

标签 python json python-2.7

我有以下代码将写入 JSON 文件:

import json    

def write_data_to_table(word, hash):
    data = {word: hash}
    with open("rainbow_table\\rainbow.json", "a+") as table:
        table.write(json.dumps(data))

我想要做的是打开 JSON 文件,向其中添加另一行,然后关闭它。如何在不弄乱文件的情况下执行此操作?

截至目前,当我运行代码时,我得到以下信息:

write_data_to_table("test1", "0123456789")
write_data_to_table("test2", "00123456789")
write_data_to_table("test3", "000123456789")

#<= {"test1": "0123456789"}{"test2": "00123456789"}{"test3": "000123456789"}

如何在不完全搞砸的情况下更新文件?

我的预期输出可能是这样的:

{
  "test1": "0123456789",
  "test2": "00123456789",
  "test3": "000123456789",
}

最佳答案

您可以使用以下方式读取 JSON 数据:

parsed_json = json.loads(json_string)

您现在可以操作一本经典词典。您可以添加数据:

parsed_json.update({'test4': 0000123456789})

然后您可以使用以下方式将数据写入文件:

with open('data.txt', 'w') as outfile:
    json.dump(parsed_json, outfile)

关于python - 写入 JSON 文件并更新所述文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40108274/

相关文章:

python - 如何在 python 中处理 cpu 缓存(或调用一次函数的最快方法)

python - Python 中强制关键字参数的默认参数的用途是什么?

python - 使用字典的最短路径算法[Python]

python - 如何使用 MySQLdb 从 MySQL 创建 JSON 结构数组并控制 JSON 风格化字段名称?

java - JsonArrayRequest 在 Android Studio 中不起作用 : Can not resolve constructor

python - 在 Django 运行脚本中传递命令行参数

python - __init__() 得到了一个意外的关键字参数 '_job'

python - 结束 for 循环,Python

javascript - 使用 BeautifulSoup 抓取包含 JavaScript 的网页

ios - 由于访问 Web api 时未捕获异常 'NSInvalidArgumentException' 而导致应用程序终止