0 说明
二维码不止一种,本文介绍最常见的QR二维码。由于不能发二维码截图,所以所有的执行结果都隐去了。完整版本可以移步到此查看:https://vblogs.cn/momo1938/article?id=0407576070659864
1 安装包
python 可以使用qrcode来生成二维码,python 安装时多半以内置了这个包,没有的话可以先安装以下这个包:
pip install qrcode
2 生成二维码
2.1 简单示例
简单示例,生成包含百度地址的二维码:
import qrcode
#添加二维码信息
img = qrcode.make('https://baidu.com')
#保存二维码图片
img.save('01.png')
生成的图片示例,扫描即可打开百度
2.2 二维码的主要参数
2.2.1 Version:版本,取值范围1-40。
版本1大小为21X21矩阵,版本40大小177x177矩阵。版本越大,容纳的信息量越大,版本1容纳的字符数约十几个,版本40理论上可容纳7000多个字符,大约1800个汉字。
import qrcode
img = qrcode.make('https://baidu.com',version=40)
img.save('02.png')
版本为1和40二维码对比:
2.2.2 error_correction 二维码纠错
此参数控制用于二维码的纠错。有四个级别,如下所示:
ERROR_CORRECT_L: 7%
ERROR_CORRECT_M:15%
ERROR_CORRECT_Q:25%
ERROR_CORRECT_H:30%
什么是纠错? 即使编码变脏或破损,也可自动恢复数据。上面的四个级别表示当二维码的损毁部分不大于这个百分比时,二维码依旧可以被正确识别:
示例,加入纠错:
import qrcode
img = qrcode.make(
'https://youkuaiyun.com',
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L