dict的有序性

python>=3.7的版本中dict的键是有序的,大部分库读取文件后生成的dict中键的顺序和文件中的文字顺序一致。

toml

最适合人类阅读和编写的配置文件格式,必须采用utf-8编码,见toml官网。注意这种配置文件不支持设置Nonenull的概念 python3.11自带tomlib,3.9的tomli,和tomlib兼容,注意tomli的读和写(tomli_w)是分开的 推荐rtoml,速度快,有dumpsloads接口,和标准的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)