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="./")

动图也给你准备好了。

Python生成二维码的教程详解

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,二维码
0
投稿

猜你喜欢

  • Tornado Web Server框架编写简易Python服务器

    2021-10-18 09:23:52
  • JavaScript函数重载操作实例浅析

    2024-04-25 13:12:04
  • vue实现登录界面

    2024-05-02 16:53:56
  • Go modules replace解决Go依赖引用问题

    2024-04-28 10:49:40
  • CSS3中的box-sizing属性

    2010-04-05 21:52:00
  • Python数学建模PuLP库线性规划进阶基于字典详解

    2022-03-11 18:04:04
  • 使用Windows批处理和WMI设置Python的环境变量方法

    2023-07-28 23:07:37
  • Golang嵌入资源文件实现步骤详解

    2023-06-21 08:52:36
  • 基于javascript实现九宫格大转盘效果

    2024-04-17 10:33:13
  • Django实现全文检索的方法(支持中文)

    2023-12-04 14:35:13
  • sqlserver 存储过程带事务 拼接id 返回值

    2024-01-21 02:41:18
  • FrontPage2002简明教程三:网页布局

    2008-09-17 11:19:00
  • Python模板的使用详细讲解

    2022-03-20 13:24:08
  • 教你用压缩技术给SQL Server备份文件瘦身

    2009-03-05 14:59:00
  • Python爬虫之BeautifulSoup的基本使用教程

    2022-03-27 18:35:31
  • PHP 图片文件上传实现代码

    2024-05-09 14:48:53
  • Warning: require(): open_basedir restriction in effect,目录配置open_basedir报错问题分析

    2023-06-02 23:28:18
  • OpenCV 使用imread()函数读取图片的六种正确姿势

    2021-07-22 13:01:28
  • 彻底搞懂Python字符编码

    2023-10-14 01:05:03
  • Python中base64与xml取值结合问题

    2021-08-22 21:15:03
  • asp之家 网络编程 m.aspxhome.com