在python中将png图像保存到json文件

问题描述 投票:0回答:1

我需要将 png 图像保存到 python 中的 json 文件中。另外,json文件的开头必须是这样的:

{"image":"data:image/jpeg;base64,/etc.

我怀疑这意味着我还需要将其转换为jpeg格式。

这是我到目前为止所尝试过的:

import base64, json

filename = 'example_png.png'
f = open(filename, 'rb')
img_data = f.read()
f.close()
enc_data = base64.b64encode(img_data)

json.dump({'image':enc_data}, open('example_png.json', 'w'))

这导致了以下错误: TypeError:字节类型的对象不可 JSON 序列化

我也尝试过解码。例如,我添加了

enc_data = enc_data.decode('utf-8')

在保存到 json 文件之前。然后有些东西被保存到文件中,但显然格式不正确。

如果有任何帮助,我将非常感激。

json python-3.x base64 png jpeg
1个回答
0
投票

尝试:

import base64
import json

filename = "your_image.png"

with open(filename, "rb") as f_in, open("example_png.json", "w") as f_out:
    enc_data = base64.b64encode(f_in.read()).decode("utf-8")
    json.dump({"image": f"data:image/png;base64,{enc_data}"}, f_out)
© www.soinside.com 2019 - 2024. All rights reserved.