问题验证
- 我已在文档和Discord中寻找答案。
问题
在SimpleKVStore的from_persist_path方法中,文件以二进制模式("rb")打开,但使用json.load()加载数据。通常情况下,json.load()期望以文本模式("r")打开的文件。
为什么json.load()用于加载数据的文件要以二进制模式("rb")而不是文本模式("r")打开?
在SimpleKVStore的from_persist_path方法中,文件以二进制模式("rb")打开,但使用json.load()加载数据。通常情况下,json.load()期望以文本模式("r")打开的文件。
为什么json.load()用于加载数据的文件要以二进制模式("rb")而不是文本模式("r")打开?
3条答案
按热度按时间ercv8c1e1#
不确定,但它可以工作,因为我们所有的简单存储器都可以很好地保存和加载到磁盘上。
jei2mxaa2#
文件以二进制模式("rb")打开,因为JSON支持设计来处理str、bytes和bytearray类型。然而,这引入了额外的解码步骤。为什么不切换到文本模式("r")呢?我想它可以通过直接处理字符串来简化过程,可能提高性能和可读性而不牺牲功能。
c9qzyr3d3#
请CC @logan-markewich