Json库和文件操作

文章目录

JSON

python 复制代码
import json

#json常用的只有4个方法,不带s的是序列化到文件或者从文件反序列化,带s的都是内存操作不涉及持久化
json.load()   # 从文件中读取json字符串 -->python对象
json.loads()  # json字符串 ->python对象
json.dump()   # python对象转化为json字符串写入文件中
json.dumps() # python 对象 -> json字符串


with open('json_test.txt','w+') as f:
    json.dump(data,f)
 
with open('json_test.txt','r+') as f:
    print(json.load(f))


ps:元组和列表解析出来的均是数组

文件操作

with 表示会自动在读写文件后关闭流,常用模式r,w,a

r : 读取文件,若文件不存在则会报错

w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件

a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾

rb,wb:分别于r,w类似,但是用于读写二进制文件

r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖

w+ : 可读,可写,文件不存在先创建,会覆盖

a+ :可读、可写,文件不存在先创建,不会覆盖,追加在末尾

python 复制代码
# 1.写文件
with open("a.txt","w") as f:
    json.dumps(data,f)
# 2.读文件
with open("a.txt","r") as f:
    json.loads(data,f)
# 3.逐行写文件
with open("a.txt","w") as f:
    f.writeLines(data+"\n")
# 4.逐行读文件
with open("a.txt","r") as f:
    for line in f:
        dosomething
相关推荐
期待のcode5 小时前
MyBatisX插件
java·数据库·后端·mybatis·springboot
未来魔导8 小时前
go语言中json操作总结
数据分析·go·json
华仔啊8 小时前
这 10 个 MySQL 高级用法,让你的代码又快又好看
后端·mysql
码事漫谈8 小时前
国产时序数据库崛起:金仓凭什么在复杂场景中碾压InfluxDB
后端
上进小菜猪8 小时前
当时序数据不再“只是时间”:金仓数据库如何在复杂场景中拉开与 InfluxDB 的差距
后端
盖世英雄酱581369 小时前
springboot 项目 从jdk 8 升级到jdk21 会面临哪些问题
java·后端
程序猿DD10 小时前
JUnit 5 中的 @ClassTemplate 实战指南
java·后端
Victor35610 小时前
Netty(14)如何处理Netty中的异常和错误?
后端
Victor35610 小时前
Netty(13)Netty中的事件和回调机制
后端