4

我正在尝试使用resource_streamfrompkg_resources与 python 3 结合使用,json.load并且在 python 2 中不存在问题。

当我尝试运行以下命令时,出现错误:

loaded_json = json.load(resource_stream(__name__, 'path/to/foo.json'))

>> TypeError: the JSON object must be str, not 'bytes'
4

1 回答 1

5

看起来在 Python 3 中,json.load不再支持从字节流中读取,您必须在解析之前对其进行解码:

json_string = resource_stream(__name__, 'path/to/foo.json').read().decode()
loaded_json = json.loads(json_string)
于 2016-05-11T01:53:21.213 回答