插件窝 干货文章 Python 实现二维码生成工具的多种实现方式

Python 实现二维码生成工具的多种实现方式

二维码 qrcode 生成 Python 140    来源:    2025-03-14

在 Python 中,生成二维码有多种实现方式。以下是几种常见的实现方式,使用不同的库来生成二维码。

1. 使用 qrcode

qrcode 是一个简单易用的库,可以快速生成二维码。

安装

pip install qrcode[pil]

示例代码

import qrcode

# 创建二维码对象
qr = qrcode.QRCode(
    version=1,  # 控制二维码的大小,1 是最小的 21x21 矩阵
    error_correction=qrcode.constants.ERROR_CORRECT_L,  # 容错率
    box_size=10,  # 每个“盒子”的像素大小
    border=4,  # 边框的宽度
)

# 添加数据
qr.add_data('https://www.example.com')
qr.make(fit=True)

# 生成二维码图像
img = qr.make_image(fill_color="black", back_color="white")

# 保存图像
img.save("qrcode.png")

2. 使用 pyqrcode

pyqrcode 是另一个生成二维码的库,支持生成 SVG 格式的二维码。

安装

pip install pyqrcode pypng

示例代码

import pyqrcode

# 生成二维码
url = pyqrcode.create('https://www.example.com')

# 保存为 PNG 文件
url.png('qrcode.png', scale=8)

# 保存为 SVG 文件
url.svg('qrcode.svg', scale=8)

3. 使用 segno

segno 是一个功能丰富的二维码生成库,支持多种输出格式。

安装

pip install segno

示例代码

import segno

# 生成二维码
qr = segno.make('https://www.example.com')

# 保存为 PNG 文件
qr.save('qrcode.png', scale=10)

# 保存为 SVG 文件
qr.save('qrcode.svg', scale=10)

4. 使用 Pillowqrcode 结合

Pillow 是 Python 中常用的图像处理库,可以与 qrcode 结合使用来生成二维码。

安装

pip install qrcode[pil]

示例代码

import qrcode
from PIL import Image

# 创建二维码对象
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=4,
)

# 添加数据
qr.add_data('https://www.example.com')
qr.make(fit=True)

# 生成二维码图像
img = qr.make_image(fill_color="black", back_color="white").convert('RGB')

# 保存图像
img.save("qrcode.png")

5. 使用 qrcodematplotlib 结合

matplotlib 是 Python 中常用的绘图库,可以与 qrcode 结合使用来显示二维码。

安装

pip install qrcode[pil] matplotlib

示例代码

import qrcode
import matplotlib.pyplot as plt

# 创建二维码对象
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)

# 添加数据
qr.add_data('https://www.example.com')
qr.make(fit=True)

# 生成二维码图像
img = qr.make_image(fill_color="black", back_color="white")

# 显示图像
plt.imshow(img)
plt.axis('off')  # 不显示坐标轴
plt.show()

总结

以上是几种常见的 Python 生成二维码的方式。qrcode 是最常用的库,简单易用;pyqrcode 支持 SVG 格式;segno 功能丰富;Pillowmatplotlib 可以与其他库结合使用,提供更多的图像处理功能。根据你的需求选择合适的库来生成二维码。