Python生成二维码的4种主流方式详解
本文详细介绍Python中生成二维码的4种常用方式,涵盖pyqrcode、qrcode、MyQR及Amazing-QR模块。通过具体代码示例,讲解如何生成静态、SVG及动态二维码,解析关键参数如版本、纠错等级及边框设置,帮助开发者快速掌握Python二维码生成技术。
背景介绍
对于Python开发者而言,处理二维码生成是常见的工作需求。本文将指导如何高效利用Python实现这一功能。
下文将介绍四种最常用、简单且实用的Python二维码生成方案。
使用pyqrcode模块生成二维码
首先介绍一款开源且高效的第三方二维码生成模块,这符合当前开发的主流趋势。
pyqrcode 是一款历史悠久的二维码生成库,安装后仅需三行代码即可生成基础二维码图片。
pip install pyqrcode
安装该模块后,为了输出图片格式,需额外安装 pip install pypng 模块。
import pyqrcode
import png
qr = pyqrcode.create('梦想橡皮擦')
qr.png('ca.png', scale=5)
执行代码后,即可生成包含文本内容的二维码。鉴于部分网站可能屏蔽二维码图片内容,建议使用手机扫码进行测试。
除了生成PNG格式图片,该模块还支持直接生成SVG矢量图。
import pyqrcode
import png
qr = pyqrcode.create('梦想橡皮擦')
# qr.png('ca.png', scale=5)
qr.svg("./ca.svg", scale=8, background="white", module_color="#03a9f4")
上述代码中的参数含义直观,读者可根据参数名理解其作用。如需了解更详细的参数说明,可查阅官方文档或进行搜索。
import pyqrcode
import png
qr = pyqrcode.create('梦想橡皮擦')
# qr.png('ca.png', scale=5)
# qr.svg("./ca.svg", scale=8, background="white", module_color="#03a9f4")
qr.png('./code.png', scale=5, m
使用qrcode模块生成二维码
第二个推荐的模块名称与前一个相似,同样属于老牌第三方库,且在实战中应用广泛。
pip install qrcode
为便于快速上手,直接参考以下示例代码:
import qrcode
qr = qrcode.QRCode(
version=None,
error_correction=qrcode.constants.ERROR_CORRECT_L,
border=4,
box_size=10
)
img = qrcode.make('梦想橡皮擦',version=4,border=4,box_size=12)
img.save('ca.jpg') # 保存图片
在 qrcode 模块中,qrcode.QRCode 是最核心的方法,其参数含义简述如下:
version:设定二维码的版本,取值范围为1至40;error_correction:设定二维码的纠错等级,具体包含4个常量值,下文将详细说明;box_size:设定二维码中每个小方格包含的像素数量;border:设定二维码与图片边界之间的边框宽度。
二维码的纠错范围可选以下4个常量之一:
- ERROR_CORRECT_L:允许纠正7%以下的错误;
- ERROR_CORRECT_M (默认值):允许纠正15%以下的错误;
- ERROR_CORRECT_Q:允许纠正25%以下的错误;
- ERROR_CORRECT_H:允许纠正30%以下的错误。
使用MyQR模块生成二维码
这是另一款二维码生成模块,安装命令如下:
pip install MyQR
该模块较为年轻,需将 pillow 升级至最新版本,可使用以下命令:
pip install pillow>=8.3.2
首先查看普通二维码的生成示例:
from MyQR import myqr
myqr.run(words="cacaca", version=9,
save_name="ca1.png",
save_dir="./")
该模块的一大特色是支持生成动态二维码,代码如下:
from MyQR import myqr
myqr.run(words="https://juejin.cn/user/3966693684027512", version=3, picture="./in.gif", colorized=True,
save_name="ca.gif",
save_dir="./")动态二维码的效果示例已提供。

在 run() 方法中,主要参数说明如下:
words:指定二维码包含的文本内容(注意:该模块对中文支持不佳);picture:指定背景图片路径;colorsize:设为True时,表示生成彩色图片;save_name:指定生成的二维码图片文件名。
使用Amazing-QR模块生成二维码
该模块支持生成普通二维码、嵌入图片的艺术二维码(黑白或彩色)以及动态二维码(黑白或彩色)。
安装命令如下:
pip install amzqr
示例代码同样简洁。
# 安装模块后
from amzqr import amzqr
import os
version, level, qr_name = amzqr.run(
'cacaca',
version=1,
level='H',
picture=None,
colorized=False,
contrast=1.0,
brightness=1.0,
save_name='ca_amzqr.png',
save_dir=os.getcwd()
)该模块对中文的支持也不佳,需进行相应修改。若觉得参数过多,可简化代码,仅保留 words 参数即可。
from amzqr import amzqr amzqr.run(words='https://juejin.cn/user/3966693684027512')
运行后,默认会在当前目录生成一个名为 qrcode.png 的图片文件。
关于Python生成二维码的教程到此结束,更多相关内容请搜索本站历史文章或继续阅读后续文章,感谢大家的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













