Python生成二维码的教程详解
作者:梦想橡皮擦 发布时间:2023-05-31 08:41:43
交代背景
作为一名合格的 Python 程序员,在工作中必然会用到二维码相关操作,那如何快速的用 Python 实现呢?别着急,咱们这篇博客就为你解决。
文章会为大家带来最常见,最简单,最实用的 4 种 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
的图片。
来源:https://juejin.cn/post/7152754281999761444


猜你喜欢
- 本文实例为大家分享了python批量梯度下降算法的具体代码,供大家参考,具体内容如下问题:将拥有两个自变量的二阶函数绘制到空间坐标系中,并通
- matplotlib从1.1.0版本以后就开始支持绘制动画下面是几个的示例:第一个例子使用generator,每隔两秒,就运行函数data_
- 无限分类是实际开发中经常用到的一种数据结构,一般我们称之为树形结构。题设:类似淘宝的商品分类,可以在任意分类设置其子类。 一、创建
- Python列表List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串
- 前言使用 requests进行爬取、BeautifulSoup进行数据提取。主要分成两步: 第一步是解析图书列表页,并解析出里面的图书详情页
- 具体错误:UnicodeEncodeError: 'latin-1' codec can't encode char
- 分享一下 在3est活动中学习的godlong的 代码如下:<% Set xPost = createObject("Mi
- MySQL 可调节设置可以应用于整个 mysqld进程,也可以应用于单个客户机会话。服务器端的设置每个表都可以表示为磁盘上的一个文件,必须先
- 在Python中如何实现单例模式?这可以说是一个经典的Python面试题了。这回我们讲讲实现Python中实现单例模式的n种方式,和它的原理
- 基于MNIST数据集的逻辑回归模型做十分类任务没有隐含层的Softmax Regression只能直接从图像的像素点推断是哪个数字,而没有特
- 经常看到朋友圈或者空间里有朋友发布照片时,将朋友圈的照片切分为九宫格,参考了一些大神的博客资料,现整理如下;将图片分拆成九宫格的思路:读取图
- -- 1. 查看被锁的表SELECT p.spid, a.serial#, c.object_name, b.session_id, b.o
- 食用前准备python 3.10.10 #二维码的库ddddocr 需要库import timeimport ddddocr源码# impo
- MySQL加密和解密实例详解数据加密、解密在安全领域非常重要。对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大。有
- 微博上讨论MySQL在删除大表engine=innodb(30G+)时,如何减少MySQL hang的时间,现做一下简单总结: 当buffe
- 随着当今世界的发展,计算机视觉技术的应用越来越广泛。伴随着硬件设备的不断升级,构造复杂的计算机视觉应用变得越来越容易了。OpenCV像是一个
- 在写代码时,经常会遇到多个矩阵数组拼接的情况,numpy里dstack, hstack, vstack, 都有拼接的作用,那么这些函数是怎么
- jQuery 简介jQuery 库可以通过一行简单的标记被添加到网页中。您需要具备的基础知识在您开始学习 jQuery 之前,您应该对以下知
- 一、背景在kubernetes的世界中,很多组件仅仅需要一个实例在运行,比如controller-manager或第三方的controlle
- 在迁移学习finetune时我们通常需要冻结前几层的参数不参与训练,在Pytorch中的实现如下:class Model(nn.Module