You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pyqrcode与pypng生成二维码如何不输出PNG文件直接获取数据

实现方案

完全可以实现内存生成二维码不写本地磁盘,用Python标准库自带的io.BytesIO内存字节流对象替代本地文件路径即可,pyqrcode的png()方法原生支持写入类文件对象,修改后的代码如下:

import io
from pyqrcode import create
import base64


def getQrWithURL(url):
    # 初始化内存字节流
    img_stream = io.BytesIO()
    # 生成二维码直接写入内存流,不生成本地文件
    embedded_qr = create(url)
    embedded_qr.png(img_stream, scale=7)
    # 重置流指针到起始位置,读取完整数据
    img_stream.seek(0)
    image_data = base64.b64encode(img_stream.read()).decode('utf-8')
    return image_data

说明

  • 不需要额外安装第三方依赖,io是Python标准库内置组件
  • seek(0)操作不可省略:二维码写入流后,流指针会停在内容末尾,必须重置到开头才能读取到完整的图片数据
  • 原逻辑里的pypng导入、本地文件读写相关代码都可以直接移除,整体运行效率更高,也不会残留临时文件

内容的提问来源于stack exchange,提问作者Weilory

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:45:07