【Python】文件处理

JSON文件

  • 序列:通俗来说就是字符串
  • 序列化:将代码中的对象(如:列表、字典等)转换成字符串,以便将信息保存在文件中或传输到网络上
  • 反序列化:将字符串转换成代码中的对象

序列化

序列化 (Serialization),是指把程序中的一个类转化成一个标准化的格式。标准化的意义是这个格式可以跨程序,跨平台的被使用,而且保持其原有的内容,规范。

json.dumps(<对象>)将对象转换成字符串,可添加参数indent=4设置字符串的缩进

1
2
3
dict_ = {"name": "John", "age": 30}
s = json.dumps(dict_)
print(s) # 输出:'{"name": "John", "age": 30}'

json.dump(<对象>, <file>)将对象写入到file文件中,可添加参数indent=4设置字符串的缩进

1
2
3
dict_ = {"name": "John", "age": 30}
with open('data.json', 'w') as json_file:
json.dump(dict_, json_file)

反序列化

json.loads(<string>)string转换成对象并返回

1
2
3
s = '{"name": "John", "age": 30}'
dict_ = json.loads(s)
print(dict_) # 输出:{"name": "John", "age": 30}

json.load(<file>)file文件中的内容转换成对象并返回

1
2
3
with open('data.json', 'r') as file:
dict_ = json.load(file)
print(dict_) # 输出:{"name": "John", "age": 30}

总结

json.dumps(<对象>):将对象转换成字符串,作用的转换

json.dump(<对象>, <file>):将对象写入file文件中,作用是转换并写入

json.loads(<string>):将string转换成对象并返回,参数是string

json.load(<file>):将file文件中的内容转换成对象并返回,参数是file