Python 文件IO:JSON 文件的读取与写入
JSON文件
备注1:JSON 编码支持的基本类型有 None、bool、int、float 和 str,同时也包含由这些基本类型组成的列表以及字典。对于字典,JSON 会假设所有键(key)都是字符串(字典中任何非字符串的键在编码时都会被转换为字符串)。一般来说,把 JSON 最顶层对象定义为字典是一种标准做法。
备注2:JSON 编码格式与 Python 语法基本相同,有几处细微区别,如
True
会被映射为true
,False
会被映射为false
,None
会被映射为null
。
以下为常用的读取和写入 json
文件的函数:
import json
# 读取 json 文件
def read_json(fpath):
"""Reads json file from a path."""
with open(fpath, 'r') as f:
obj = json.load(f)
return obj
# 写入 json 文件,并格式化
def write_json(obj, fpath):
"""Writes to a json file."""
mkdir_if_missing(osp.dirname(fpath))
with open(fpath, 'w') as f:
json.dump(obj, f, indent=4, separators=(',', ': '))
备注:在写入
json
文件时,如果不需要格式化,可将最后一行改为json.dump(obj)
。