追加写入 json 文件

有一个 test.json 文件,包含内容如下:

{"key_1": "value_1"
}

现需要追加写入 json 文件,向其中增加值,使其包含内容如下:

{"key_1": "value_1","key_2": "value_2"
}

Python 代码实现:

import jsonnew_data = {"key_2": "value_2"}with open("test.json", "r", encoding="utf-8") as f:old_data = json.load(f)old_data.update(new_data)
with open("test.json", "w", encoding="utf-8") as f:json.dump(old_data, f)

如果 test.json 文件里面的初始内容为空,则需要在调用 json.load() 之前做一个判断,如果内容为空,则需要先构建一个字典,否则会报错:json.decoder.JSONDecodeError

import jsonnew_data = {"key_2": "value_2"}with open("test.json", "r", encoding="utf-8") as f:file = f.read()if len(file) > 0:old_data = json.load(f)else:old_data = {}old_data.update(new_data)
with open("test.json", "w", encoding="utf-8") as f:json.dump(old_data, f)

更改 json 文件中的值

有一个 test.json 文件,包含内容如下:

{"key_1": "value_1","key_2": "value_2"
}

现需要更改 key_2 的值为 value_3,更改后 test.json 文件的内容如下:

{"key_1": "value_1","key_2": "value_3"
}

Python 代码实现:

import jsonwith open("test.json", "r", encoding="utf-8") as f:old_data = json.load(f)old_data["key_2"] = "value_3"
with open("test.json", "w", encoding="utf-8") as f:json.dump(old_data, f)

用到的方法

  • json.load():将已编码的 JSON 字符串解码为 Python 对象;

  • json.dump():将 Python 对象编码成 JSON 字符串;

  • dict.update():Python 中把一个字典的键/值对更新到另一个字典里。

【Python 必会技巧】使用 Python 追加写入 json 文件或更改 json 文件中的值相关推荐

  1. python列表如何修改_Python – 如何更改列表列表中的值?

    编程之家收集整理的这篇文章主要介绍了Python – 如何更改列表列表中的值?,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. 我有一个列表,列表中的每个列表包含5个项目,如何更改列表中 ...

  2. 【Python 必会技巧】判断字符串是否为字母/数字/大小写/空白字符/有效标识符/可打印字符

    简单来说: str.isalnum():判断所有字符是否都是数字或者字母 str.isalpha():判断所有字符是否都是字母 str.isdigit():判断所有字符是否都是数字 str.islow ...

  3. python必背入门代码-python必背内容有哪些

    python必背内容:1.变量,掌握变量的命名方法:2.数据类型,掌握int整型.float浮点型.bool布尔值型等各类型相互转换:3.掌握数组类型,定义在[[ ]]内,其内元素之间使用逗号分隔. ...

  4. 如何看待,入门学习Python必看视频?python字符串(string)方法整理

    如何看待,入门学习Python必看视频?哈佛大学教授推荐,python字符串(string)方法整理 哈佛大学推荐,Python基础入门,Python小白书籍,Python学习路线,Python进阶, ...

  5. 【Python 必会技巧】利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题

    先举个例子,分别以不指定编码.指定编码为 utf-8.指定编码为 utf-8-sig 三种方式来做比较,再将写入 csv 文件和 txt 文件来做个对比 一.不指定编码方式,直接存入 csv 文件 i ...

  6. 【Python 必会技巧】[i for i in range(1,10)] — 列表解析式,列表中使用 for 循环

    经常会看到类似于 [i for i in range(1,10)] 的表达式,这种表达式称为列表解析(List Comprehensions),类似的还有字典解析.集合解析等等. 列表解析式是将一个列 ...

  7. 【Python 必会技巧】copy 模块中 copy() 与 deepcopy() 函数的区别

    Python 中赋值语句不复制对象,而是在目标和对象之间创建绑定关系.对于自身可变或者包含可变项的集合对象,开发者有时会需要生成其副本用于改变操作,进而避免改变原对象.copy 模块提供了通用的浅层复 ...

  8. 【Python 必会技巧】lambda 表达式(匿名函数)及其在内置函数中的应用

    lambda 表达式,又称匿名函数,即,函数没有具体的名称,常用来表示内部仅包含 1 行表达式的函数. 使用 lambda 编写的代码更加简洁紧凑,但是 lambda 函数支持的功能却是十分有限的,目 ...

  9. 【Python 必会技巧】使用 join() 方法将序列中的元素拼接成字符串

    Python 中 join() 方法可以将序列中的元素以指定的字符连接生成一个新的字符串.该序列可以是字符串.元组.列表或者字典 join() 方法的语法:'str'.join(sequence),其 ...

最新文章

  1. python怎么读文件内容-Python 文件内容读取
  2. 【杂谈】从学员到专栏作者、讲师,我在有三AI学习与名利双收的故事
  3. 表格计算机备份在哪里找,#excle备份在哪#EXCEL里备份文件在哪里找?
  4. mysql create routine 权限的一些说明
  5. 网络设备的注册与初始化
  6. Java内存模型_基础
  7. windows 10打开或禁用管理员账户
  8. server2008密码不满足密码策略的要求,检查最小密码长度、密码复杂性和密码历史的要求”的解决办法...
  9. 高效通信模型之 - 异步通信模型
  10. 【渝粤题库】陕西师范大学201831 课程论 作业
  11. UML概要基础知识(待完善)
  12. DDA算法--计算机图形学
  13. 用php制作一个简单的网页留言板
  14. 笔记本电脑切换Fn功能键
  15. kotlin-android-extensions过时了,迁移到ViewBinding
  16. GITEE提交代码时出现“文本是相同的,但文件不匹配“问题解决方法
  17. Linux 查看quota状态,Linux命令之quota详解
  18. (附源码)计算机毕业设计SSM智慧灭火器管理系统
  19. 一个简单的DGA(Domain Generate Algorithm)
  20. 网络基础——综合布线

热门文章

  1. iOS9适配(包括APNs)的改变
  2. 转载:Java编程风格与命名规范整理
  3. [LeetCode-JAVA] Remove Linked List Elements
  4. 腾讯或联姻优酷,微信嫁女模式引发互联网通婚潮流
  5. DELPHI串口通讯编程
  6. MySQL报错113_mysql 2003 (113)
  7. asp 判断数组等于_如何在 ASP.NET Core MVC 中处理 404 错误
  8. php.ini 老薛,出现Allowed memory size of 134217728 bytes exhausted怎么办?
  9. 收藏夹库计算机网络的关系,云南省计算机一级考试题库 计算机网络及基础.pdf...
  10. 函数调用关系图如何画_程序是如何在 CPU 中运行的(二)