dict的有序性
python>=3.7的版本中dict的键是有序的,大部分库读取文件后生成的dict中键的顺序和文件中的文字顺序一致。
toml
最适合人类阅读和编写的配置文件格式,必须采用utf-8
编码,见toml官网。注意这种配置文件不支持设置None
或null
的概念
python3.11自带tomlib
,3.9的tomli
,和tomlib
兼容,注意tomli
的读和写(tomli_w
)是分开的
推荐rtoml
,速度快,有dumps
和loads
接口,和标准的json库很像
yaml
用pyyaml
或其进一步封装ruamel.yaml
进行读写,写法比json好看一些,但是语法复杂,必须使用vscode等可以代码高亮、自动检测错误的编辑器编辑
json
最通用的程序间交换格式,由于在web浏览器中负责和javascript交换数据,因此不可能被淘汰
跟随javascript语言的变化产生新特性,有多种衍生版本
orjson
比原生json
库强,可以支持设置写出日期和np.array等高级功能,且对大文件读写更快
csv
用于简单场景,如遇复杂场景需用pandas读取
def csv2array(csv_str):
return tuple(tuple(cell for cell in l.split(",")) for l in csv_str.split("\n"))
def array2csv(array2d):
return "\n".join(",".join(row) for row in array2d)