这篇文章主要介绍“如何用Python生成二维码”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用Python生成二维码”文章能帮助大家解决问题。
pyqrcode 实现二维码
上来为你展示的就是一款第三方二维码模块,开源高效才是当今编码界的主流。
pyqrcode是一款 老牌 二维码生成模块了,安装之后三行代码就能搞定一个简单的二维码图片。
pip install pyqrcode
模块安装之后,直接展示入门 Demo,为了可以生成图片,还需要额外安装一个模块,即
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的图片。