python3版本 解决PIL图片验证码 string argument expected, got 'bytes' 的问题

来源:互联网 发布:知乎 张雪健 编辑:程序博客网 时间:2024/06/16 11:25

请求指定链接并返回结果时出现 TypeError: string argument expected, got 'bytes'  错误

经过排查问题出现在使用StringIO的write方法上,用BytesIO替代StringIO即可解决问题,代码如下


image = Image.new('RGB', (self.width, self.height), (255, 255, 255))image = self.background(image)image = self.text(image, self.fonts, drawings=['warp', 'rotate', 'offset'])image = self.curve(image)image = self.noise(image)image = self.smooth(image)name = "".join(random.sample(string.ascii_lowercase + string.ascii_uppercase + '3456789', 24))text = "".join(self._text)# out = StringIO()"""python3新增了bytes的数据类型"""out = BytesIO()image.save(out, format=fmt)if path:    image.save(os.path.join(path, name), fmt)return name, text, out.getvalue()

哈哈,是不是解决了呢

阅读全文
0 0
原创粉丝点击