gpt4 book ai didi

python - json.load 是低效的吗?

转载 作者:行者123 更新时间:2023-11-28 17:43:48 24 4
gpt4 key购买 nike

我正在查看 json 模块的源代码以尝试回答另一个问题,这时我发现了一些奇怪的东西。去掉docstring和一大堆关键字参数,json.load的源码如下:

def load(fp):
return loads(fp.read())

这和我想象的完全不一样。如果 json.load 不能避免一次读取整个文件的开销,那么它比 json.loads(f.read()) 节省的唯一优势是几个字符的源代码?为什么它甚至存在?为什么它获得短名称,而不是 loads 获得 load 名称和 load 获得类似 loadf 的名称?我能想到原因(例如复制pickle接口(interface)),但是谁能提供一个权威的答案而不是猜测?

最佳答案

尽管期望 json.load() 做得更好是很自然的,但正如评论中所提到的,它并不能保证这样做。这纯粹是推测,但如果我是 Python 维护者,我会设计模块以实现简单性和最少的维护开销。

Python 标准库 json 模块在速度或内存使用方面都不是最优的。对于不同的甜蜜点,有许多替代的 JSON 读取实现,其中一些具有 Python 绑定(bind),例如Jansson :

https://stackoverflow.com/a/3512887/315168

替代 JSON 实现源于以高效方式处理流和/或大量数据的必要性。

关于python - json.load 是低效的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20855899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com