Python读取PNG文件提示bytes类型的对象不可JSON序列化

def base_write_img(self):
    # 1.获取图片文件流
    with open("./image/err.png", "rb") as f:
        # 2.调用allure.attach附加方法
        allure.attach("原因:", f.read(), allure.attachment_type.PNG)

 

INTERNALERROR>   File "D:\Python\Python39\lib\json\encoder.py", line 179, in default
INTERNALERROR>     raise TypeError(f'Object of type {o.__class__.__name__} '
INTERNALERROR> TypeError: Object of type bytes is not JSON serializable
 

为啥我看视频别人读取没有报错,百度了半天找不到答案,各位大哥救命!!

allure.attach的语法是:allure.attach(body, name, attachment_type, extension),你的代码中前面的两个参数顺序颠倒了。这样改一下试试。

def base_write_img(self):
    # 1.获取图片文件流
    with open("./image/err.png", "rb") as f:
        file=f.read()
        # 2.调用allure.attach附加方法
        allure.attach(file,"原因", allure.attachment_type.PNG)

 

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632